Emacs Cheatsheet
Basic Movement and Editing Commands
C-x C-f | Find file and load into buffer (Emacs prompts for filename) | |
C-x C-s | Save the current buffer | |
C-x C-w | Save the current buffer under a different name (Emacs prompts for the new name) | |
C-x C-c | Quit Emacs, prompting if you have not saved any buffers | |
Arrow keys or C-f, C-b, C-n, C-p | Right (forward), left (back), down (next), up (previous), respectively | |
C-k | Delete from cursor to end of line | |
C-a | Go to start of line | |
C-e | Go to end of line | |
C-v | Go down a page | |
M-v | Go up a page | |
M-f | Go to next word | |
M-b | Go back one word | |
M-a | Go to previous sentence | |
M-b | Go to next sentence | |
C-x u | Undo | |
C-g | Abort the current command | |
C-l | Redraw and center screen at cursor | |
M-< | Go to start of buffer | |
M-> | Go to end of buffer | |
C-d | Delete next character | |
M-d | Delete next word | |
M- | | Execute shell command on region |
Backspace | Delete previous character | |
Kill & Yank (Cut/Copy and Paste)
C-space | Set the mark |
C-w | Cut (kill) |
M-w | Copy (kill) |
C-y | Paste (yank) |
M-y | Paste (yank) next saved selection |
C-x h | Set point to start of buffer and mark to end of buffer (select the entire buffer) |
C-x C-x | Swap point and mark |
Search & Replace
C-s | Incremental search forward |
C-r | Incremental search backward |
C-M-s | Regexp search forward |
C-M-r | Regexp search backward |
M-% | Search and replace |
M-x query-replace-regexp | Search and replace with regexps |
C-g | Abort a search |
C-w | During a search, highlight the word around the cursor |
Up, down arrow keys or M-p, M-n | Access search string history (in minibuffer) |
Case Change
M-u | uppercase word |
M-l | lowercase word |
M-c | capitalize word |
C-x C-u | uppercase region |
C-x C-l | lowercase region |
Emacs Modes
M-x modename | Toggle the given major or minor mode |
C-h m | Display help on the current major mode, including any special key bindings in effect |
M-q | Used in text-mode to reformat a paragraph of text manually |
M-x global-font-lock-mode | Toggle syntax highlighting |
Character Coding Systems
C-x RET k | set coding system for keyboard input |
C-x RET t | set coding system for terminal display |
C-x RET f | set coding system for saving file |
M-x list-coding-systems | show all coding systems |
Buffers
C-x b | Switch to another buffer |
C-x C-b | Display buffer list |
C-x k | Kill current buffer (Emacs prompts for confirmation) |
M-x iswitchb-mode | Enable iswitch mode, for smart buffer name completion with C-x b |
Windows
C-x 0 | Close this window |
C-x 1 | Close all other visible windows |
C-x 2 | Split horizontally |
C-x 3 | Split vertically |
C-x o | Switch to other window |
C-M-v | Scroll other window |
Dired Mode
M-x dired | Load dired mode (Emacs prompts for directory name) |
C-x C-f | Dired mode loaded when a directory is specified as load file |
Left, right arrow keys or p, n | Previous and next file, respectively |
Enter | Visit this file in this window |
o | Visit this file in a new window |
g | Refresh directory view |
m | Mark file |
u | Un-mark file |
d | Mark a file for later deletion |
x | Delete all files marked for deletion (Emacs prompts for confirmation) |
D | Delete this file right now (Emacs prompts for confirmation) |
C | Copy this file, or copy currently marked files (Emacs prompts for destination) |
R | Rename/move this file, or rename/move currently marked files (Emacs prompts for destination) |
M | Chmod this file, or chmod currently marked files (Emacs prompts for new permissions) |
O | Chown this file, or chown currently marked files (Emacs prompts for new owner) |
G | Chgrp this file, or chgrp currently marked files (Emacs prompts for new group) |
+ | Create directory (Emacs prompts for directory name) |
! | Execute shell command on this file, or currently marked files (Emacs prompts for command) |
Shell Modes
M-x shell | Shell mode, use M-p and M-n for command history |
M-x eshell | Cross-platform Emacs Lisp shell emulator, use arrow keys for command history |
M-x ansi-term | Full terminal emulator, suitable for full-screen applications. |
Getting Help
C-h t | Emacs tutorial |
C-h a | Apropos (Emacs prompts for keyword or regexp) |
C-h i | Load info browser |
C-h m | Display help on current mode |
C-h f | Display help on function (Emacs prompts for function) |
C-h k | Display help on key (Emacs prompts for key) |
M-x man | Display a man page in a new buffer (Emacs prompts for man page) |
w3m mode
M-x w3m | Start browsing web with emacs-w3m. |
q | Close all emacs-w3m windows, without deleting buffers. |
Q | Exit browsing web. All emacs-w3m buffers will be deleted. |
RET | Display the page pointed to by the link under point. |
C-c C-c | Submit the form at point. |
R | Reload the current page. |
r | Redisplay the current page. |
TAB | Move the point to the next anchor. |
M-TAB | Move the point to the previous anchor. |
B | Move back to the previous page in the history. |
N | Move forward to the next page in the history. |
U | Visit the web page. |
H | Go to the Home page. |
M-d | Download the URL. |
d | Download the URL under point. |
\ | Display the html source of the current page. |
SPC | Scroll up the current window, or go to the next page. |
b | Scroll down the current window, or go to the previous page. |
> | Scroll to the left. |
< | Scroll to the right. |
. | Shift to the left. |
, | Shift to the right. |
M-l | Recenter horizontally. |
j | Next line. |
k | Previous line. |
l | Forward char. |
h | Backward char. |
s | Display the history of pages you have visited in the session. |
S | Prompt for a search query and submit it to google. |
v | Display the bookmarks list. |
a | Add a url of the current page to a new bookmark. |
M-a | Add the url under point to a new bookmark. |
Sample .emacs
;; Sample ~/.emacs file
;;
;; Un-comment what you want to enable and re-start Emacs
;;
;;Load iswitch mode
;;(require 'iswitchb)
;;Make text mode the default for new buffers
;;(setq default-major-mode 'text-mode)
;;Turn on refill-mode whenever text mode is entered
;;(add-hook 'text-mode-hook
;; '(lambda () (refill-mode 1)))
;;Enable syntax highlighting when it's allowed
;;(when (fboundp 'global-font-lock-mode)
;; (global-font-lock-mode t))
;;Fix the backspace key
;;(normal-erase-is-backspace-mode 1)
;;Use cperl-mode for editing Perl code, it is better than perl-mode
;;(defalias 'perl-mode 'cperl-mode)
;;Don't blink my cursor, please
;;(blink-cursor-mode nil)
;;Display the current time in the modeline
;;(display-time-mode t)
;;Start the emacs server
;;
;;When this is running, programs calling emacsclient open a buffer
;;in the already running emacs. Useful in mutt or pine for composing
;;mail in Emacs. Type C-x # to exit client buffer and send the text
;;back to the application that called it.
;;(server-start)
$Id: emacs-cheatsheet.html,v 1.3 2011/12/04 02:06:19 slugmax Exp $