Emacs Cheat Sheet
Also:
Modes:
Packages
Do M-x list-packages and take it from there.
Concepts
Notations
| Key |
PC |
Mac |
| Meta |
Esc |
⌘ |
| RETURN |
Enter |
RETURN |
| DEL |
DEL (or M-BACKSPACE on some keyboards) |
DEL |
| Notation |
Means |
| C-x |
Press and hold the Control key and then press and release the “x” key |
| M-x |
Press and release the Meta key and then press the “x” key |
Key Bindings
I usually
swap
Caps Lock and
Control keys:
Exits
| Key |
Command |
Function |
| C-x C-c |
Exit Emacs |
|
Exiting emacs
Open/Save File
| Key |
Command |
Function |
| C-x C-f |
Open or create file |
M-x find-file |
| C-x C-r |
Open file in read-only mode |
M-x find-file-read-only |
| C-x C-v |
Replace current opened file |
M-x find-alternate-file |
| C-x C-s |
Save buffer |
M-x save-buffer |
| C-x C-w |
Save file with new name |
M-x write-file |
| C-x i |
Insert another file |
M-x insert-file |
Manual on:
Buffers
Buffers in manual.
| Key |
Command |
Function |
| C-x b |
Switch to another buffer |
M-x switch-to-buffer |
| C-x C-b |
List buffers |
M-x list-buffer |
| C-x k |
Kill current buffer |
M-x kill-buffer |
| C-x C-s |
Save buffer |
M-x save-buffer |
| C-l |
Refresh buffer, cycle mid, bottom, top |
|
Windows
| Key |
Command |
Function |
| C-x 2 |
Split window vertically |
M-x split-window-vertically |
| C-x 3 |
Split window horizontally |
M-x split-window-horizontally |
| C-x o |
Move to another window |
M-x other-window |
| C-x 0 |
Delete the current window |
M-x delete-window |
| C-x 1 |
Delete all windows but the current |
M-x delete-other-windows |
| |
Resize Window |
|
| C-x - |
shrink the current window to fit its content |
M-x shrink-window-if-larger-than-buffer |
| C-x ^ |
increase the current window height by 1, or the prefix arg value |
M-x enlarge-window |
| C-x } |
make it wider |
M-x enlarge-window-horizontally |
| C-x { |
makes it narrower |
M-x shrink-window-horizontally |
| C-x + |
make the windows the same heights and widths |
M-x balance-windows |
more on this.
Moving Caret Around
| Move By |
Forward |
Backward |
| Char |
C-f |
C-b |
| Word |
M-f |
M-b |
| Sentence |
M-e |
M-a |
| Paragraph |
M-} |
M-{ |
| Line |
C-n |
C-p |
| Line End/Start |
C-e |
C-a |
| Buffer End/Start |
M-> |
M-< |
| Scroll |
C-v |
M-v |
| Command |
Keystroke |
Function |
| Move to the beginning of a buffer |
M-< |
M-x beginning-of-buffer |
| Move to the end of a buffer |
M-> |
M-x end-of-buffer |
| Move forward one character |
C-f |
M-x forward-char |
| Move backward one character |
C-b |
M-x backward-char |
| Move down one line |
C-n |
M-x next-line |
| Move up on line |
C-p |
M-x previous-line |
| Move forward one word |
M-f |
M-x forward-word |
| Move backward one word |
M-b |
M-x backward-word |
| Move to the end of a line |
C-e |
M-x end-of-line |
| Move to the beginning of a line |
C-a |
M-x beginning-of-line |
| Move forward one screen |
C-v |
M-x scroll up |
| Move backward one screen |
M-v |
M-x scroll-down |
Deleting Text
| Command |
Keystroke |
Function |
| Delete character |
C-d |
M-x delete-char |
| Delete previous character |
DEL |
M-x delete-backward-char |
Kill / Yank
| Command |
Keystroke |
Function |
| Kill word |
M-d |
M-x kill-word |
| Kill previous word |
M-DEL |
M-x backward-kill-word |
| Kill the entire line |
C-k |
M-x kill-line |
| Kill the marked region |
C-w |
M-x kill-region |
| Copy a marked region |
M-w or C-INSERT |
M-x kill-ring-save |
| Yank the region |
C-y |
M-x yank |
| Yank the rectangle |
C-x r y |
M-x yank-rectangle |
Mark Text to Kill / Yank
| Command |
Keystroke |
Function |
| Mark the beginning of a selection |
C-@ or C-SPACEBAR |
M-x set-mark-command |
Rectangles
Rectangles are supported.
| Command |
Keystroke |
Function |
| Toggle Rectangle Mark mode |
C-x SPC |
M-x rectangle-mark-mode |
| Kill the region-rectangle |
C-x r k |
M-x kill-rectangle |
| Yank the last killed rectangle |
C-x r y |
M-x yank-rectangle |
| Clear the region-rectangle |
C-x r c |
M-x clear-rectangle |
Incremental Search
| Command |
Keystroke |
Function |
| Forward |
C-s |
M-x isearch-forward |
| Backward |
C-r |
M-x isearch-backward |
| Exit |
ENTER or RETURN |
|
| Cancel |
C-g |
M-x keyboard-quit |
| Delete incorrect character in search string |
DEL |
|
Incremental search in manual.
Search / Replace Text
| Command |
Keystroke |
Function |
| Search forward |
C-s RETURN |
|
| Search backward |
C-r RETURN |
|
| Start search and replace |
M-% |
M-x query-replace |
| Replace current instance and continue on to next instance |
SPACEBAR or y |
|
| Don not replace current instance, move on to next instance |
DEL |
|
| Replace the current instance and then quit |
. (period key) |
|
| Replace the current instance and then pause |
, (comma key) |
|
| Resume after pausing |
SPACEBAR or y |
|
| Replace remaining instances without asking |
! |
|
| Back up to previous instance |
^ |
|
| Exit query replace |
RETURN (or ENTER on some keyboards) or q |
|
Wildcard Search
| Command |
Keystroke |
Function |
| Search forward |
M C-s RETURN FOLLOWED BY thisIsMySearchExpressio* |
M-x re-search-forward |
| Search backward |
M C-r RETURN FOLLOWED BY thisIsMySearchExpressio* |
M-x re-search-backward |
| Search forward and incrementally |
M C-s |
M-x isearch-forward-regexp |
| Search backward and incrementally |
M C-r |
M-x isearch-backward-regexp |
Dired
| Command |
Keystroke |
Function |
| Dired |
C-x d . |
M-x dired |
| Dired |
C-x C-f |
M-x find-file |
| Dired on the default-directory |
C-x C-j |
M-x dired-jump |
| Dired in another window |
C-x 4 d |
M-x dired-other-window |
| Dired in a separate frame |
C-x 5 d |
M-x dired-other-frame |
Dired in manual
Interactive SubShell
| Command |
Keystroke |
Function |
| Shell |
|
M-x shell |
interactive subshell in manual
Misc Commands
| Command |
Keystroke |
Function |
| Undo |
C-x u |
|
| Undo all changes since the last save |
|
M-x revert-buffer |
| Cancel current command |
C-g |
|
Color Theme
Must have Color Theme, e.g.
Dracula!