C-x (File, Common)#
C-x C-f | Find File | |
C-x C-s | Save File | |
C-x C-w | Write (Save-As) | |
C-x C-c | Quit | |
C-x C-z | Suspend Emacs | |
C-x b | switch-to-buffer | Move to buffer specified |
C-x → | next-buffer | Move to the next buffer in the buffer list |
C-x ← | previous-buffer | Move to the previous buffer in the buffer list |
C-x C-b | list-buffers | Display the buffer list |
C-x k | kill-buffer | Delete the buffer specified |
kill-some-buffers | Ask about deleting each buffer | |
C-x s | save-some-buffers | Ask whether you want to save each modified buffer |
Moving Around#
C-f | Forward character |
M-f | Forward word |
C-b | Back character |
M-b | Back word |
C-a | Beginning of line |
M-m | First non-whitespace character in line |
C-e | End of line |
C-p | Previous line |
C-n | Next line |
M-} | Forward paragraph |
M-{ | Back paragraph |
M-< | Beginning of buffer |
M-> | End of buffer |
M-g g M-g M-g | goto-line |
C-l | Re-Center display |
C-l C-l | Set current line to top of display |
C-l C-l C-l | Set current line to bottom of display |
Search#
C-s | Search |
M-Shift-% | Search & Replace |
C-M-Shift-% | Regex Search & Replace |
Fail-safe#
M-x text-mode | Text mode |
M-x fundamental-mode | Fundamental mode |
Selecting, Killing and Pasting#
C-Space C-@ | set-mark-command | Mark the beginning (or end) of a region |
C-w | kill-region | Cut / Delete region |
M-w | kill-ring-save | Copy the region (so it can be pasted with C-y) |
C-y | yank | Paste most recently killed or copied text |
M-y | yank-pop | After C-y, pastes earlier deletion |
C-x C-x | exchange-point-and-mark | Exchange location of cursor and mark |
M-h | mark-paragraph | Mark paragraph |
C-x C-p | mark-page | Mark page |
C-x h | mark-whole-buffer | Mark buffer |
C-k | delete to end of line | |
C-0 C-k | delete to beginning of line |
Canceling Commands and Undoing#
C-/ C-_ C-x u | Undo (one by one) |
M-x revert-buffer RET | Undo all changes since last save |
Frame Commands#
C-x 5 o | other-frame | Move to other frame |
C-x 5 0 | delete-frame | Delete current frame |
C-x 5 2 | make-frame | Create a new frame on the current buffer |
C-x 5 f | find-file-other-frame | Find file in a new frame |
C-x 5 r | find-file-read-only-other-frame | find a file in a new frame, but it is read-only |
C-x 5 b | switch-to-buffer-other-frame | Make frame and display other buffer in it |
Window Commands#
C-x 2 | split-window-vertically | Divide current window into two windows, one above the other |
C-x 3 | split-window-horizontally | Divide current window into two side-by-side windows |
C-x > | scroll-right | Scroll the window right |
C-x < | scroll-left | Scroll the window left |
C-x o | other-window | Move to the other window. If there are several, move to the next window |
C-x 0 | delete-window | Delete the current window |
C-x 1 | delete-other-windows | Delete all windows but this one |
delete-windows-on | Delete all windows on a given buffer | |
C-x ^ | enlarge-window | Make window taller |
shrink-window | Make window shorter | |
C-x } | enlarge-window-horizontally | Make window wider |
C-x { | shrink-window-horizontally | Make window narrower |
C-x - | shrink-window-if-larger-than-buffer | Make window smaller if buffer is smaller than window |
C-x + | balance-windows | Make windows the same size |
C-M-v | scroll-other-window | Scroll other window |
C-x 4 f | find-file-other-window | Find a file in the other window |
C-x 4 b | switch-to-buffer-other-window | Select a buffer in the other window |
compare-windows | Compare this window with the next window and show the first difference |
Compilation mode commands#
C-x ` | next-error | Move to the next error message and visit the corresponding source code |
M-n | compilation-next-error | Move to the next error message |
M-p | compilation-previous-error | Move the previous error message |
C-c C-c | compilation-goto-error | Visit the source code for the current error message |
Space | scroll-down | Scroll down one screen |
Del | scroll-up | Scroll up one screen |
Python Mode#
C-j | Insert a new line with the same indentation level as the current line |
RET | Insert a new line with the same indentation level as the current line |
C-M-a | Go to the beginning of the current function or class |
C-M-e | Go to the end of the current function or class |
C-M-h | Mark the current function or class for copying, etc. |
C-M-x | Execute the current function or class |
C-c C-b | Submit a bug report |
C-c C-c | Execute the buffer (i.e., the file being displayed) |
C-c C-d | Trace the stack of the process being executed |
C-c C-h | Get context-based help |
C-c TAB | Indent a highlighted (or marked) region |
C-c C-k | Mark a block of text. Using this at the head of a class or function definition will mark the entire block. |
C-c C-l | Shift the region to the left. If the cursor is in the middle of a region, the lower half of the region will shift. |
C-c RET | Execute the current file, opening a new window to show the output. |
C-c C-n | Jump to the next statement. |
C-c C-p | Jump to the previous statement. |
C-c C-r | Shift the region to the right. If the cursor is in the middle of a region, the lower half of the region will shift. |
C-c C-s | Execute a Python command. |
C-c C-t | Toggle shells |
C-c C-u | Go up one block |
C-c C-v | List the version of the Python mode |
C-c C-w | Run PyChecker |
C-c ! | Open the Python interactive shell |
C-c # | Comment the highlighted (marked) region |
C-c : | Check the indentation off-set |
C-c < | Shift the region to the left |
C-c > | Shift the region to the right |
C-c ? | Show Python mode documentation |
C-c PIPE | Execute the highlighted (marked) part of the current program. |
Software Development#
M-x compile | Will prompt for make command, then execute |
M-x recompile | Will repeat last compile command without prompting |
Emacs