Stuck? Press C-g or press ESC ESC ESC.
Minibuffer: fixed, compact, non-modal(-ish) dialog for status messages, command history, and interacting with commands.
Mode: Alters editor behaviour and appearance automatically to the type of text you edit. You learn one editing feature and Emacs adapts the feature to the problem. Example: Pressing TAB at the beginning of a line in fundamental-mode inserts a tab character while TAB in python-mode aligns indentation of the statement.
Touch-typing: if you don't already, learn!
| Name | Key |
|---|---|
C- |
Press and hold Control |
M- |
Press and hold Alt |
S- |
Press and hold Shift |
BACKSPACE |
Press and release Backspace |
ESC |
Press and release Escape |
DEL |
Press and release Delete |
RET |
Press and release Enter |
SPC |
Press and release Space |
TAB |
Press and release Tab |
| Description | Command |
|---|---|
| Start | emacs filename [ filename...] |
| Kill (aka quit) | C-x C-c |
| Cancel command | C-g or ESC-ESC-ESC |
| Undo | C-/ |
| Description | Command |
|---|---|
| Emacs tutorial | C-h t |
| Describe keyboard command | C-h k keyboardcommand |
| Describe Emacs Lisp function | C-h f functionname |
| Describe Emacs Lisp variable | C-h v variablename |
| Search functions | C-h a |
| Describe active modes | C-h m |
File: text on your computer’s local storage or on the network. Each file has an associated buffer.
Buffer: text in Emacs for you to edit or view. Not every buffer has an associated file or window.
| Description | Command |
|---|---|
| Visit (aka open) a file | C-x C-f |
| Save buffer to its file. | C-x C-s |
| Re-visit (aka revert) a file in a buffer | C-x C-f M-n RET |
| Save all modified buffers | C-x s |
| Dired (aka view directory/folder) | C-x d |
| List all buffers | C-x C-b |
| Switch to buffer | C-x b |
Point: aka the insertion point, aka the cursor. Each window has its own point.
| Description | Command |
|---|---|
| Forward and backward one character | C-f and C-b |
| Forward and backward one word | M-f and M-b |
| Beginning and end of line | C-a and C-e |
| Forward and backward one sentence | M-a and M-e |
| Up and down one line | C-p and C-n |
| Up and down one paragraph | M-{ and M-} |
| Up and down a screenful of lines | M-v and C-v |
| Beginning and end of buffer | M-< and M-> |
Region: The text between point and mark, aka selection. The region is only visible when you set mark.
Mark: A secondary cursor at the other end of a region. Each window has its own mark.
Kill ring: A cyclical list of previous kills, aka multiple clipboards.
Killing: Insert the region into the kill ring, either by killing the region (aka cutting) or saving it (aka copying).
Yanking: Insert an item from the kill ring into the buffer.
| Description | Command |
|---|---|
| Set mark | C-SPC or C-@ or click-drag the left mouse button |
| Mark whole buffer, aka select all | C-x h |
| Delete character at point | C-d or DEL |
| Delete character before point | BACKSPACE |
| Delete to end of word | M-d |
| Kill to end of line | C-k |
| In an empty line, delete line | C-k |
| Kill region | C-w |
| Save region to kill ring | M-w |
| Insert most recent item in kill ring | C-y |
| Immediately after C-y, replace inserted kill with next item in kill ring | M-y |
| Description | Command |
|---|---|
| Search forward for search text | C-s search-text |
| Search backward for search text | C-r search-text |
| Go to next occurrence of search text | C-s |
| Go to previous occurrence of search text | C-r |
| Search and replace | M-% search-text RET replace text RET |
Window: panes in a frame. Each window displays its associated buffer, not all buffers have a window.
Frame: contains windows. A frame is what most modern operating systems call a “window”.
| Description | Command |
|---|---|
| Split window horizontally | C-x 2 |
| Split window vertically | C-x 3 |
| Go to next window | C-x o (lowercase o) |
| Delete (aka hide) window | C-x 0 (zero) |
| Delete (aka hide) all other windows except the selected one | C-x 1 (one) |
| Description | Command |
|---|---|
| Repeat the last command | C-x z |
| Repeat a command n times | C-u n C-u command |
| Start recording keystrokes | F3 |
| While recording, stop recording keystrokes | F4 |
| When not recording, replay the last-recorded keystrokes | F4 |
| Name the last-recorded keystrokes | C-x C-k n macroname |
| Replay named keystrokes | M-x macroname |
| Save named keystrokes | Visit file to save the macro in, M-x insert-kbd-macro RET macroname RET, save the buffer |
| Description | Command |
|---|---|
| Execute a function | M-x functionname RET |
| View, install, and uninstall packages | M-x list-packages |
| Customize settings | M-x customize |
| Description | Command |
|---|---|
| Use butterflies to set a bit on your hard drive | M-x butterfly |
| Talk to a therapist | M-x doctor |