Hotkeys and shortcuts for GNU Emacs
(Total 190)
Ctrl + X then Ctrl + F |
FilesRead a file into Emacs |
Ctrl + X then Ctrl + S |
FilesSave a file back to disk |
Ctrl + X then S |
FilesSave all files |
Ctrl + X then I |
FilesInsert contents of another file into this buffer |
Ctrl + X then Ctrl + V |
FilesReplace this file with another file |
Ctrl + X then Ctrl + W |
FilesWrite buffer to specified file |
Ctrl + X then Ctrl + Q |
FilesToggle read only status of buffer |
Ctrl + Z |
Leaving EmacsSuspend or iconify Emacs |
Ctrl + X then Ctrl + C |
Leaving EmacsExit Emacs completely |
Ctrl + X then 1 |
Multiple windowsDelete all other windows |
Ctrl + Meta + V |
Multiple windowsScroll other window |
Ctrl + H then A |
HelpShow commands matching a string |
Ctrl + H then K |
HelpDescribe the function a key runs |
Ctrl + H then F |
HelpDescribe a function |
Ctrl + H then M |
HelpGet mode specific information |
Ctrl + G |
The minibufferAbort command |
Meta + X |
Simple customization(then customize) Customize variables and faces |
Ctrl + X then U |
Error recoveryUndo an unwanted change |
Ctrl + _ |
Error recoveryUndo an unwanted change |
Ctrl + / |
Error recoveryUndo an unwanted change |
Ctrl + L |
MotionScroll current line to center, top, bottom |
Ctrl + S |
Incremental searchSearch forward |
Ctrl + R |
Query replaceEnter recursive edit |
Ctrl + Meta + S |
Incremental searchRegular expression search |
Ctrl + Meta + R |
Incremental searchReverse regular expression search |
Meta + P |
The minibufferFetch previous minibuffer input |
Meta + N |
The minibufferFetch later minibuffer input or default |
⤶ Enter |
The minibufferComplete and execute |
Del |
InfoScroll reverse |
Ctrl + B |
MotionCharacter - backward |
Ctrl + F |
MotionCharacter - forward |
Meta + B |
MotionWord - backward |
Meta + F |
MotionWord - forward |
Ctrl + P |
MotionLine - backward |
Ctrl + N |
MotionLine - forward |
Ctrl + A |
MotionGo to line beginning |
Ctrl + E |
MotionGo to line ending |
Meta + A |
MotionSentence - backward |
Meta + E |
MotionSentence - forward |
Meta + { |
MotionParagraph - backward |
Meta + } |
MotionParagraph - forward |
Ctrl + X then [ |
MotionPage - backward |
Ctrl + X then ] |
MotionPage - forward |
Ctrl + Meta + B |
Motionsexp - backward |
Ctrl + Meta + F |
Motionsexp - forward |
Ctrl + Meta + A |
Motionfunction - backward |
Ctrl + Meta + E |
Motionfunction - forward |
Meta + < |
MotionGo to beginning of buffer |
Meta + > |
MotionGo to end of buffer |
Ctrl + V |
MotionScroll to next screen |
Meta + V |
MotionScroll to previous screen |
Ctrl + X then < |
MotionScroll left |
Ctrl + X then > |
MotionScroll right |
Meta + G then G |
MotionGo to line |
Meta + G then C |
MotionGo to character |
Meta + M |
MotionBack to indentation |
Ctrl + D |
Killing and deletingCharacter (delete, not kill) - forward |
Meta + Del |
Killing and deletingWord - backward |
Meta + D |
Killing and deletingWord - forward |
Meta + 0 then Ctrl + K |
Killing and deletingLine (to end of) - backward |
Ctrl + K |
Killing and deletingLine (to end of) - forward |
Ctrl + X then Del |
Killing and deletingSentence - backward |
Meta + K |
Killing and deletingSentence - forward |
Meta + - then Ctrl + Meta + K |
Killing and deletingsexp - backward |
Ctrl + Meta + K |
Killing and deletingsexp - forward |
Ctrl + W |
Killing and deletingKill region |
Meta + W |
Killing and deletingCopy region to kill ring |
Meta + Z |
Killing and deletingthen press char to kill through next occurence of char |
Ctrl + Y |
Killing and deletingYank back last thing killed |
Meta + Y |
Killing and deletingReplace last yank with previous kill |
Ctrl + @ |
MarkingSet mark here |
Ctrl + Space |
MarkingSet mark here |
Ctrl + X then Ctrl + X |
MarkingExchange point and mark |
Meta + @ |
MarkingSet mark arg words away |
Meta + H |
MarkingMark paragraph |
Ctrl + X then Ctrl + P |
MarkingMark page |
Ctrl + Meta + @ |
MarkingMark sexp |
Ctrl + Meta + H |
MarkingMark function |
Ctrl + X then H |
MarkingMark entire buffer |
Meta + % then Meta + X |
Query replace(then query-replace-regexp) Interactively replace a text string using regular expressions |
Space |
InfoScroll forward |
Y |
Query replaceReplace this one, go to next |
N |
InfoGo to next node |
! |
Query replaceReplace all remaining matches |
^ |
Query replaceBack up to the previous match |
Ctrl + Meta + C |
Query replaceExit recursive edit |
Ctrl + X then 5 then 1 |
Multiple windowsDelete all other windows (for frame) |
Ctrl + X then 2 |
Multiple windowsSplit window, above and below |
Ctrl + + X then 5 then 2 |
Multiple windowsSplit window, above and below (for frame) |
Ctrl + X then 0 |
Multiple windowsDelete this window |
Ctrl + X then 5 then 0 |
Multiple windowsDelete this window (for frame) |
Ctrl + X then 3 |
Multiple windowsSplit window, side by side |
Ctrl + X then O |
Multiple windowsSwitch cursor to another window |
Ctrl + X then 5 then O |
Multiple windowsSwitch cursor to another window (for frame) |
Ctrl + X then 4 then B |
Multiple windowsSelect buffer in other window |
Ctrl + X then 5 then B |
Multiple windowsSelect buffer in other window (for frame) |
Ctrl + X then 4 then Ctrl + O |
Multiple windowsDisplay buffer in other window |
Ctrl + X then 5 then Ctrl + O |
Multiple windowsDisplay buffer in other window (for frame) |
Ctrl + X then 4 then F |
Multiple windowsFind file in other window |
Ctrl + X then 5 then F |
Multiple windowsFind file in other window (for frame) |
Ctrl + X then 4 then R |
Multiple windowsFind file read-only in other window |
Ctrl + X then 5 then R |
Multiple windowsFind file read-only in other window (for frame) |
Ctrl + X then 4 then D |
Multiple windowsRun Dired in other window |
Ctrl + X then 5 then D |
Multiple windowsRun Dired in other window (for frame) |
Ctrl + X then 4 then . |
Multiple windowsFind tag in other window |
Ctrl + X then 5 then . |
Multiple windowsFind tag in other window (for frame) |
Ctrl + X then ^ |
Multiple windowsGrow window taller |
Ctrl + X then { |
Multiple windowsShrink window smaller |
Ctrl + X then } |
Multiple windowsGrow window wider |
⭾ Tab |
The minibufferComplete as much as possible |
Ctrl + Meta + \ |
FormattingIndent region (mode-dependent) |
Ctrl + Meta + Q |
FormattingIndent sexp (mode-dependent) |
Ctrl + X then ⭾ Tab |
FormattingIndent region rigidly arg columns |
Meta + ; |
FormattingIndent for comment |
Ctrl + O |
FormattingInsert newline after point |
Ctrl + Meta + O |
FormattingMove rest of line vertically down |
Ctrl + X then Ctrl + O |
FormattingDelete blank lines around point |
Meta + ^ |
FormattingJoin line with previous (with arg, next) |
Meta + \ |
FormattingDelete all white space around point |
Meta + Space |
FormattingPut exactly one space at point |
Meta + Q |
FormattingFill paragraph |
Ctrl + X then F |
FormattingSet fill column to arg |
Ctrl + X then . |
FormattingPrefix each line starts with |
Meta + O |
FormattingSet face |
Meta + U |
Case changeUppercase word |
Meta + L |
Case changeLowercase word |
Meta + C |
Case changeCapitalize word |
Ctrl + X then Ctrl + U |
Case changeUppercase region |
Ctrl + X then Ctrl + L |
Case changeLowercase region |
? |
The minibufferShow possible completions |
Meta + R |
The minibufferRegexp search backward through history |
Meta + S |
The minibufferRegexp search forward through history |
Ctrl + X then Esc then Esc |
The minibufferEdit and repeat the last command that used the minibuffer |
F10 |
The minibufferActivate menu bar items in text terminals |
Ctrl + X then B |
BuffersSelect another buffer |
Ctrl + X then Ctrl + B |
BuffersList all buffers |
Ctrl + X then K |
BuffersKill a buffer |
Ctrl + T |
TransposingTranspose characters |
Meta + T |
TransposingTranspose words |
Ctrl + X then Ctrl + T |
TransposingTranspose lines |
Ctrl + Meta + T |
TransposingTranspose sexps |
Meta + $ |
Spelling checkCheck spelling of current word |
Meta + . |
TagsFind a tag (a definition) |
Ctrl + U then Meta + . |
TagsFind next occurence of a tag |
Meta + , |
TagsContinue last tags search on query-replace |
Meta + ! |
ShellsExecute a shell command |
Meta + & |
ShellsExecute a shell command asynchronously |
Meta + | |
ShellsRun a shell command on the region |
Ctrl + X then R then R |
RectanglesCopy rectangle to register |
Ctrl + X then R then K |
RectanglesKill rectangle |
Ctrl + X then R then Y |
RectanglesYank rectangle |
Ctrl + X then R then O |
RectanglesOpen rectangle, shifting text right |
Ctrl + X then R then C |
RectanglesBlack out rectangle |
Ctrl + X then R then T |
RectanglesPrefix each line with string |
Ctrl + X then A then G |
AbbrevsAdd global abbrev |
Ctrl + X then A then L |
AbbrevsAdd mode-local abbrev |
Ctrl + X then A then I then G |
AbbrevsAdd global expansion for this abbrev |
Ctrl + X then A then I then L |
AbbrevsAdd mode-local expansion for this abbrev |
Ctrl + X then A then E |
AbbrevsExplicitly expand abbrev |
Meta + / |
AbbrevsExpand previous word dynamically |
Ctrl + U then Num 0 - Num 9 |
MiscellaneousNumeric argument |
Meta + - |
MiscellaneousNegative argument |
Ctrl + Q |
Miscellaneousthen char: Quoted insert |
Ctrl + \ |
International character setsEnable or disable input method |
Ctrl + H then I |
InfoEnter the Info documentation reader |
Ctrl + H then S |
InfoFind specified function or variable in Info |
B |
InfoBeginning of node |
P |
InfoGo to previous node |
U |
InfoMove up |
M |
InfoSelect menu item by name |
Num 1 - Num 9 |
InfoSelect menu item by number |
F |
InfoFollow cross reference (return with 1) |
L |
InfoReturn to last node you saw |
D |
InfoReturn to directory node |
T |
InfoGo to top node of Info file |
G |
InfoGo to any node by name |
H |
InfoRun info tutorial |
I |
InfoLook up a subject in the indices |
S |
InfoSearch nodes for regexp |
Q |
InfoQuit Info |
Ctrl + X then R then S |
RegistersSave region in register |
Ctrl + X then R then I |
RegistersInsert register contents into buffer |
Ctrl + X then R then Space |
RegistersSave value of point in register |
Ctrl + X then R then J |
RegistersJump to point saved in register |
Ctrl + X then ( |
Keyboard macrosStart defining a keyboard macro |
Ctrl + X then ) |
Keyboard macrosEnd keyboard macro definition |
Ctrl + X then E |
Keyboard macrosEappend to last keyboard macro |
Ctrl + X then Ctrl + E |
Dealing with Emacs LispEval sexp before point |
Ctrl + Meta + X |
Dealing with Emacs LispEval current defun |
Meta + : |
Dealing with Emacs LispRead and eval minibuffer |