Emacs key bindings
Book page
Yeah, kitt finished writing this at 21:22 on 14 November 2004
From: http://www.pdc.kth.se/training/Tutor/Basics/emacs/emacsis.great
-------------------------------------------------------------------- Summary of Emacs Commands Starting emacs: start up only emacs start up with a file emacs filename Leaving emacs: suspend Emacs C-z exit Emacs permanently C-x C-c Files: read a file into Emacs C-x C-f save a file back to disk C-x C-s insert a file into this buffer C-x i replace this file with another C-x C-v write buffer to a specified file C-x C-w run the directory editor C-x d Getting help: starting HELP C-h get rid of HELP window C-x 1 scroll HELP window ESC C-v apropos C-h a show function a key runs C-h c describe a function C-h f get mode-specific information C-h m Error Recovery: abort partially typed command C-g recover file lost by system crash M-x recover-file undo an unwanted change C-x u or C-_ restore buffer to original M-x revert-buffer redraw garbaged screen C-l Incremental Search: search forward C-s search backward C-r regular expression search C-M-s exit incremental search ESC undo effect of last character DEL abort current search C-g Motion: entity to move over backward forward character C-b C-f word M-b M-f line C-p C-n go to line beginning/end C-a C-e sentence M-a M-e paragraph M-[ M-] page C-x [ C-x ] sexp C-M-b C-M-f function C-M-a C-M-e go to buffer beginning/end M- scroll to next screen C-v scroll to previous screen M-v scroll left C-x Killing and Deleting: entity to kill backward forward character(delete, not kill) DEL C-d word M-DEL M-d line(to end of) M-O C-k C-k sentence C-x DEL M-k sexp M-- C-M-k C-M-k kill region C-w kill to next occurrence of char M-z char yank back last thing killed C-y replace last yank with previous kill M-y Marking: set mark here C-@ or C-SPC exchange point and mark C-x C-x set mark arg words away M-@ mark paragraph M-h mark page C-x C-p mark sexp C-M-@ mark function C-M-h mark entire buffer C-x h Query Replace: interactively replace a string M-% using regular expressions M-x query-replace-regexp Valid responses in query-replace mode are replace this one, go on to next SPC replace this one, don't move , skip to next without replacing DEL replace all remaining matches ! back up to the previous match ^ exit query-replace ESC enter recursive edit(C-M-c to exit) C-r Multiple Windows: delete all other windows C-x 1 delete this window C-x 0 split window in 2 vertically C-x 2 split window in 2 horizontally C-x 5 scroll other window C-M v switch cursor to another window C-x o shrink window shorter M-x shrink-window grow window taller C-x ^ shrink window narrower C-x { grow window wider C-x } select a buffer in other window C-x 4 b find file in other window C-x 4 f compose mail in other window C-x 4 m run Dired in other window C-x 4 d find tag in other window C-x 4 . Formatting: indent current line TAB indent region C-M-\ indent sexp C-M-q indent region rigidly arg columns C-x TAB insert newline after point C-o move rest of line vertically down C-M-o delete blank lines around point C-x C-o delete all white space around point M-\ put exactly one space at point M-SPC fill paragraph M-q fill region M-g set fill column C-x f set prefix each line starts with C-x . Case Change: uppercase word M-u lowercase word M-l capitalize word M-c uppercase region C-x C-u lowercase region C-x C-l capitalize region M-x capitalize-region The Minibuffer: The following keys are defined within the minibuffer. complete as much as possible TAB complete up to one word SPC complete and execute RET show possible completeions ? abort command C-g Type C-x ESC to edit and repeat the last command that used the minibuffer. The following keys are then defined. previous minibuffer command M-p next minibuffer command M-n Buffers: select another buffer C-x b list all buffers C-x C-b kill a buffer C-x k Transposing: transpose characters C-t transpose words M-t transpose lines C-x C-t transpose sexps C-M-t Spelling Check: check current word M-$ check region M-x spell region check buffer M-x spell buffer Tags: find tag M-. find next occurrence of tag C-u M-. specify a new tags file M-x visit-tags-table regexp search on all files in tags table M-x tags-search query replace on all the files M-x tags-query-replace continue last tags search or query-replace M-, Shells: execute a shell command M-! run a shell command on the region M-| filter region through a shell command C-u M-| start a shell in window *shell* M-x shell Rmail: scroll forward SPC scroll reverse DEL beginning of message . (dot) next non-deleted message n previous non-deleted message p next message M-n previous message M-p delete message d delete message and back up C-d undelete message u reply to message r forward message to someone f send mail m get newly arrived mail g quit Rmail q output message to another Rmail file o output message in Unix-mail style C-o show summary of headers h Regular Expressions: The following have special meaning inside a regular expression. any single character . (dot) zero or more repeats * one or more repeats + zero or one repeat ? any char in set [ ... ] any char not in set [^ ... ] beginning of line ^ end of line $ backslash \\ alternative ("or") \| grouping \( ... \) nth group \n beginning of buffer \` end of buffer \' word break \b not beginning or end of word \B beginning of word \ any word-syntax char \w any non-word-syntax char \W char with syntax c \sc char with cyntax not c \Sc Registers: copy region to register C-x x insert register contents C-x g save point in register C-x / move point to saved location C-x j Info: Enter the Info documentation reader C-h i Moving within a node: scroll forward SPC scroll backward DEL beginning of node . (dot) Moving between nodes: next node n previous node p move up u select menu item by name m select nth menu item by number (1-5) n follow cross reference (return with l) f return to last node you saw l return to directory node d go to any node by name g Other: run Info tutorial h list Info commands ? quit Info q search nodes for regexp s Keyboard Macros: start defining a keyboard macro C-x ( end keyboard macro definition C-x ) execute last-defined keyboard macro C-x e append to last keyboard macro C-u C-x name last keyboard macro M-xname-last-kbd-macro insert lisp definition in buffer M-x insert-kbd-macro Commands Dealing with Emacs Lisp: eval sexp before point C-x C-e eval current defun C-M-x eval region M-x eval-region eval entire buffer M-x eval-current-buffer read and eval minibuffer M-ESC re-execute last minibuffer command C-x ESC read and eval Emacs Lisp file M-x load-file load from standard system directory M-x load-library PJV 4/20/1990