├── readline-emacs-editing-mode-cheat-sheet.pdf ├── readme.txt ├── readline-emacs-editing-mode-cheat-sheet.tex └── readline-emacs-editing-mode-cheat-sheet.txt /readline-emacs-editing-mode-cheat-sheet.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pkrumins/bash-emacs-editing-mode-cheat-sheet/HEAD/readline-emacs-editing-mode-cheat-sheet.pdf -------------------------------------------------------------------------------- /readme.txt: -------------------------------------------------------------------------------- 1 | Bourne again shell (bash) has two input editing modes - emacs and vi. This is 2 | emacs editing mode cheat sheet. It lists all the keyboard shortcuts available 3 | in emacs mode. It will make you much more productive in the shell. 4 | 5 | It was created by Peteris Krumins (peter@catonmat.net). 6 | His blog is at http://www.catonmat.net -- good coders code, great reuse. 7 | 8 | The cheat sheet is released under GNU Free Document License. 9 | 10 | The cheat sheet was created as supplementary material to my popular article 11 | "Bash Emacs Editing Mode Cheat Sheet". This article can be read on my website 12 | at the following address: 13 | 14 | http://www.catonmat.net/blog/bash-emacs-editing-mode-cheat-sheet/ 15 | 16 | This cheat sheet is the 1st in the series of working efficiently on the 17 | command line. 18 | 19 | The second article is "Bash Vi Editing Mode Cheat Sheet": 20 | http://www.catonmat.net/blog/bash-vi-editing-mode-cheat-sheet/ 21 | 22 | And the third is "The Definitive Guide to Bash Command Line History": 23 | http://www.catonmat.net/blog/the-definitive-guide-to-bash-command-line-history/ 24 | 25 | ------------------------------------------------------------------------------ 26 | 27 | The emacs editing mode cheat sheet contains the following shortcuts: 28 | 29 | * Commands for moving. 30 | * Commands for changing text. 31 | * Killing (copying) and yanking (pasting) text. 32 | * Creating and playing keyboard macros. 33 | * Commands for manipulating command history. 34 | * Completing commands and filenames. 35 | * Miscellaneous keyboard shortcuts (such as undo, create mark, etc.) 36 | 37 | It's available in .txt (ascii), .pdf and latex (.tex) formats. The latest 38 | version of this cheat sheet can always be downloaded here: 39 | 40 | .txt: http://www.catonmat.net/download/readline-emacs-editing-mode-cheat-sheet.txt 41 | .pdf: http://www.catonmat.net/download/readline-emacs-editing-mode-cheat-sheet.pdf 42 | .tex: http://www.catonmat.net/download/readline-emacs-editing-mode-cheat-sheet.tex 43 | 44 | To create a new .pdf from latex's .tex, use pdflatex command: 45 | 46 | $ pdflatex readline-emacs-editing-mode-cheat-sheet.tex 47 | 48 | This will produce readline-emacs-editing-mode-cheat-sheet.pdf. 49 | 50 | ------------------------------------------------------------------------------ 51 | 52 | 53 | Have fun and be more productive on command line. 54 | 55 | 56 | Sincerely, 57 | Peteris Krumins 58 | http://www.catonmat.net 59 | 60 | -------------------------------------------------------------------------------- /readline-emacs-editing-mode-cheat-sheet.tex: -------------------------------------------------------------------------------- 1 | % Readline Emacs mode default keyboard shortcut cheat sheet 2 | % 3 | % by Peteris Krumins (peter@catonmat.net) 4 | % http://www.catonmat.net - good coders code, great reuse 5 | % 6 | % 2007.10.28 7 | % 8 | 9 | \documentclass{article} 10 | 11 | \usepackage[left=1.5cm,top=1cm,right=1.5cm,bottom=1cm,nohead,nofoot]{geometry} 12 | 13 | \usepackage[pdftex]{hyperref} 14 | \hypersetup{pdftitle={Readline Emacs Mode Default Keyboard Shortcut Cheat Sheet}} 15 | \hypersetup{pdfauthor={Peteris Krumins (peter@catonmat.net)}} 16 | \hypersetup{pdfkeywords={cheat sheet, cheat sheat, cheet sheet, cheet sheat, terminal, command line, readline, read line, emacs, keyboard, shortcut, shortcuts, unix, linux}} 17 | \hypersetup{pdfsubject={http://www.catonmat.net - good coders code, great reuse}} 18 | \hypersetup{colorlinks} 19 | 20 | \pagestyle{empty} 21 | 22 | % ----------------------------------------------------------------------- 23 | 24 | \begin{document} 25 | 26 | \begin{center} 27 | \Large Readline Emacs Editing Mode Cheat Sheet \\ 28 | \Large Default Keyboard Shortcuts for Bash 29 | \end{center} 30 | 31 | \vspace{0.4in} 32 | 33 | \renewcommand{\arraystretch}{1.2} 34 | \begin{tabular}{|p{3.5cm}|p{4cm}|p{10cm}|} 35 | \hline 36 | \large\textbf{Shortcut} & \large\textbf{Function Name} & \large\textbf{Description} \\ 37 | \hline 38 | \multicolumn{3}{|l|}{\small\it{Commands for Moving:}} \\ 39 | \hline 40 | \textbf{C-a} & beginning-of-line & Move to the beginning of line. \\ 41 | \hline 42 | \textbf{C-e} & end-of-line & Move to the end of line. \\ 43 | \hline 44 | \textbf{C-f} & forward-char & Move forward a character. \\ 45 | \hline 46 | \textbf{C-b} & backward-char & Move back a character. \\ 47 | \hline 48 | \textbf{M-f} & forward-word & Move forward a word. \\ 49 | \hline 50 | \textbf{M-b} & backward-word & Move backward a word. \\ 51 | \hline 52 | \textbf{C-l} & clear-screen & Clear the screen leaving the current line at the top of the screen. \\ 53 | \hline 54 | (unbound) & redraw-current-line & Refresh the current line. \\ 55 | \hline 56 | \multicolumn{3}{|l|}{\small\it{Commands for Changing Text:}} \\ 57 | \hline 58 | \textbf{C-d} & delete-char & Delete one character at point. \\ 59 | \hline 60 | \textbf{Rubout} & backward-delete-char & Delete one character backward. \\ 61 | \hline 62 | \textbf{C-q} or \textbf{C-v} & quoted-insert & Quoted insert. \\ 63 | \hline 64 | \textbf{M-TAB} or \textbf{M-C-i} & tab-insert & Insert a tab character. \\ 65 | \hline 66 | \textbf{a, b, A, 1, !, ...} & self-insert & Insert the character typed. \\ 67 | \hline 68 | \textbf{C-t} & transpose-chars & Exchange the char before cursor with the character at cursor. \\ 69 | \hline 70 | \textbf{M-t} & transpose-words & Exchange the word before cursor with the word at cursor. \\ 71 | \hline 72 | \textbf{M-u} & upcase-word & Uppercase the current (or following) word. \\ 73 | \hline 74 | \textbf{M-l} & downcase-word & Lowercase the current (or following) word. \\ 75 | \hline 76 | \textbf{M-c} & capitalize-word & Capitalize the current (or following) word. \\ 77 | \hline 78 | (unbound) & overwrite-mode & Toggle overwrite mode. \\ 79 | \hline 80 | \multicolumn{3}{|l|}{\small\it{Killing and Yanking:}} \\ 81 | \hline 82 | \textbf{C-k} & kill-line & Kill the text from point to the end of the line. \\ 83 | \hline 84 | \textbf{C-x Rubout} & backward-kill-line & Kill backward to the beginning of the line. \\ 85 | \hline 86 | \textbf{C-u} & unix-line-discard & Kill backward from point to the beginning of the line. \\ 87 | \hline 88 | \textbf{M-d} & kill-word & Kill from point to the end of the current word. \\ 89 | \hline 90 | \textbf{M-Rubout} & backward-kill-word & Kill the word behind point. \\ 91 | \hline 92 | \textbf{C-w} & unix-word-rubout & Kill the word behind point, using white space as a word boundary. \\ 93 | \hline 94 | \textbf{M-\textbackslash} & delete-horizontal-space & Delete all spaces and tabs around point. \\ 95 | \hline 96 | \textbf{C-y} & yank & Yank the top of the kill ring into the buffer at point. \\ 97 | \hline 98 | \textbf{M-y} & yank-pop & Rotate the kill ring, and yank the new top. \\ 99 | \hline 100 | (unbound) & kill-whole-line & Kill all characters on the current line. \\ 101 | (unbound) & kill-region & Kill the text between the point and mark. \\ 102 | (unbound) & copy-region-as-kill & Copy the text in the region to the kill buffer. \\ 103 | (unbound) & copy-backward-word & Copy the word before point to the kill buffer. \\ 104 | (unbound) & copy-forward-word & Copy the word following point to the kill buffer. \\ 105 | \hline 106 | \multicolumn{3}{|l|}{\small\it{Keyboard Macros:}} \\ 107 | \hline 108 | \textbf{C-x (} & start-kbd-macro & Begin saving the chars typed into the current keyboard macro. \\ 109 | \hline 110 | \textbf{C-x )} & end-kbd-macro & End saving the chars typed into the current keyboard macro. \\ 111 | \hline 112 | \textbf{C-x e} & call-last-kbd-macro & Re-execute the last keyboard macro defined. \\ 113 | \hline 114 | \end{tabular} 115 | 116 | \vfill 117 | 118 | \framebox{\parbox{4.5in}{ 119 | A cheat sheet by \textbf{Peteris Krumins} (peter@catonmat.net), 2007. 120 | 121 | \href{http://www.catonmat.net}{http://www.catonmat.net} - good coders code, great reuse 122 | 123 | \vspace{2mm} 124 | \footnotesize{Released under GNU Free Document License.}}} 125 | 126 | 127 | %--------------------------------------------------------------------------- 128 | 129 | \newpage 130 | 131 | \mbox{} 132 | 133 | \begin{tabular}{|p{3.5cm}|p{4cm}|p{10cm}|} 134 | \hline 135 | \large\textbf{Shortcut} & \large\textbf{Function Name} & \large\textbf{Description} \\ 136 | \hline 137 | \multicolumn{3}{|l|}{\small\it{Commands for Manipulating the History:}} \\ 138 | \hline 139 | \textbf{Return} & accept-line & Accept the line regardless of where the cursor is. \\ 140 | \hline 141 | \textbf{C-p} & previous-history & Fetch the previous command from the history list. \\ 142 | \hline 143 | \textbf{C-n} & next-history & Fetch the next command from the history list. \\ 144 | \hline 145 | \textbf{M-\textless} & beginning-of-history & Move to the first line in the history. \\ 146 | \hline 147 | \textbf{M-\textgreater} & end-of-history & Move to the end of the input history (current line). \\ 148 | \hline 149 | \textbf{C-r} & reverse-search-history & Search backward starting at the current line (incremental). \\ 150 | \hline 151 | \textbf{C-s} & forward-search-history & Search forward starting at the current line (incremental). \\ 152 | \hline 153 | \textbf{M-p} & non-incremental-reverse-search-history & Search backward using non-incremental search. \\ 154 | \hline 155 | \textbf{M-n} & non-incremental-forward-search-history & Search forward using non-incremental search. \\ 156 | \hline 157 | \textbf{M-C-y} & yank-nth-arg & Insert the n-th argument to the previous command at point. \\ 158 | \hline 159 | \textbf{M-.} or \textbf{M-\_}& yank-last-arg & Insert the last argument to the previous command. \\ 160 | \hline 161 | (unbound) & history-search-backward & Search forward for a string between start of line and point. \\ 162 | (unbound) & history-search-forward & Search backward for a string between start of line and point. \\ 163 | \hline 164 | \multicolumn{3}{|l|}{\small\it{Completing:}} \\ 165 | \hline 166 | \textbf{TAB} & complete & Attempt to perform completion on the text before point. \\ 167 | \hline 168 | \textbf{M-?} & possible-completions & List the possible completions of the text before point. \\ 169 | \hline 170 | \textbf{M-*} & insert-completions & Insert all completions of the text before point generated by \textbf{possible-completions}. \\ 171 | \hline 172 | (unbound) & menu-complete & Similar to \textbf{complete} but replaces the word with the first match. \\ 173 | (unbound) & delete-char-or-list & Deletes the car if not at the beginning of line or acts like \textbf{possible-completions} at the end of the line. \\ 174 | \hline 175 | \multicolumn{3}{|l|}{\small\it{Miscellaneous:}} \\ 176 | \hline 177 | \textbf{C-x C-r} & re-read-init-file & Read and execute the contents of inputrc file. \\ 178 | \hline 179 | \textbf{C-g} & abort & Abort the current editing command and ring the terminal's bell. \\ 180 | \hline 181 | \textbf{M-a, M-b, M-x, ...} & do-uppercase-version & If the metafield char \textbf{x} is lowercase, run the command that is bound to uppercase char. \\ 182 | \hline 183 | \textbf{ESC} & prefix-meta & Metafy the next character typed. For example, \textbf{ESC-p} is equivalent to \textbf{Meta-p}. \\ 184 | \hline 185 | \textbf{C-\_} or \textbf{C-x C-u}& undo & Incremental undo, separately remembered for each line. \\ 186 | \hline 187 | \textbf{M-r} & revert-line & Undo all changes made to this line. \\ 188 | \hline 189 | \textbf{M-\&} & tilde-expand & Perform tilde expansion on the current word. \\ 190 | \hline 191 | \textbf{C-@} or \textbf{M-{\textless}space{\textgreater}}& set-mark & Set the mark to the point. \\ 192 | \hline 193 | \textbf{C-x C-x} & exchange-point-and-mark & Swap the point with the mark. \\ 194 | \hline 195 | \textbf{C-]} & character-search & Move to the next occurrence of current character under cursor. \\ 196 | \hline 197 | \textbf{M-C-]} & character-search-backward & Move to the previous occurrence of current character under cursor. \\ 198 | \hline 199 | \textbf{M-\#} & insert-comment & Without argument line is commented, with argument uncommented (if it was commented). \\ 200 | \hline 201 | \textbf{C-e} & emacs-editing-mode & When in \textbf{vi} mode, switch to \textbf{emacs} mode. \\ 202 | \hline 203 | \textbf{M-C-j} & vi-editing-mode & When in \textbf{emacs} mode, switch to \textbf{vi} mode. \\ 204 | \hline 205 | \textbf{M-0, M-1, ..., M--} & digit-argument & Specify the digit to the argument. \textbf{M--} starts a negative argument. \\ 206 | \hline 207 | (unbound) & dump-functions & Print all of the functions and their key bindings. \\ 208 | (unbound) & dump-variables & Print all of the settable variables and their values. \\ 209 | (unbound) & dump-macros & Print all of the key sequences bound to macros. \\ 210 | (unbound) & universal-argument & Either sets argument or multiplies the current argument by 4. \\ 211 | \hline 212 | \end{tabular} 213 | 214 | \vfill 215 | 216 | \framebox{\parbox{5in}{ 217 | A cheat sheet by \textbf{Peteris Krumins} (peter@catonmat.net), 2007. 218 | 219 | \href{http://www.catonmat.net}{http://www.catonmat.net} - good coders code, great reuse}} 220 | 221 | \end{document} 222 | 223 | -------------------------------------------------------------------------------- /readline-emacs-editing-mode-cheat-sheet.txt: -------------------------------------------------------------------------------- 1 | .---------------------------------------------------------------------------. 2 | | | 3 | | Readline Emacs Editing Mode | 4 | | Default Keyboard Shortcut | 5 | | Cheat Sheet | 6 | | | 7 | '---------------------------------------------------------------------------' 8 | | Peteris Krumins (peter@catonmat.net), 2007.10.30 | 9 | | http://www.catonmat.net - good coders code, great reuse | 10 | | | 11 | | Released under the GNU Free Document License | 12 | '---------------------------------------------------------------------------' 13 | 14 | ======================== Keyboard Shortcut Summary ======================== 15 | 16 | .--------------.-------------------.----------------------------------------. 17 | | | | | 18 | | Shortcut | Function | Description | 19 | | | | | 20 | '--------------'-------------------'----------------------------------------' 21 | | Commands for Moving: | 22 | '--------------.-------------------.----------------------------------------' 23 | | C-a | beginning-of-line | Move to the beginning of line. | 24 | '--------------+-------------------+----------------------------------------' 25 | | C-e | end-of-line | Move to the end of line. | 26 | '--------------+-------------------+----------------------------------------' 27 | | C-f | forward-char | Move forward a character. | 28 | '--------------+-------------------+----------------------------------------' 29 | | C-b | backward-char | Move back a character. | 30 | '--------------+-------------------+----------------------------------------' 31 | | M-f | forward-word | Move forward a word. | 32 | '--------------+-------------------+----------------------------------------' 33 | | M-b | backward-word | Move backward a word. | 34 | '--------------+-------------------+----------------------------------------' 35 | | C-l | clear-screen | Clear the screen leaving the current | 36 | | | | line at the top of the screen. | 37 | '--------------+-------------------+----------------------------------------' 38 | | (unbound) | redraw-current- | Refresh the current line. | 39 | | | line | | 40 | '--------------'-------------------'----------------------------------------' 41 | | Commands for Changing Text: | 42 | '--------------.-------------------.----------------------------------------' 43 | | C-d | delete-char | Delete one character at point. | 44 | '--------------+-------------------+----------------------------------------' 45 | | Rubout | backward-delete- | Delete one character backward. | 46 | | | char | | 47 | '--------------+-------------------+----------------------------------------' 48 | | C-q or C-v | quoted-insert | Quoted insert. | 49 | '--------------+-------------------+----------------------------------------' 50 | | M-TAB or | tab-insert | Insert a tab character. | 51 | | M-C-i | | | 52 | '--------------+-------------------+----------------------------------------' 53 | | a, b, A, 1, | self-insert | Insert the character typed. | 54 | | ... | | | 55 | '--------------+-------------------+----------------------------------------' 56 | | C-t | transpose-chars | Exchange the char before cursor with | 57 | | | | the character at cursor. | 58 | '--------------+-------------------+----------------------------------------' 59 | | M-t | transpose-words | Exchange the word before cursor with | 60 | | | | the word at cursor. | 61 | '--------------+-------------------+----------------------------------------' 62 | | M-u | upcase-word | Uppercase the current word. | 63 | '--------------+-------------------+----------------------------------------' 64 | | M-l | downcase-word | Lowercase the current word. | 65 | '--------------+-------------------+----------------------------------------' 66 | | M-c | capitalize-word | Capitalize the current word. | 67 | '--------------+-------------------+----------------------------------------' 68 | | (unbound) | overwrite-mode | Toggle overwrite mode. | 69 | '--------------'-------------------'----------------------------------------' 70 | | Killing and Yanking: | 71 | '--------------.-------------------.----------------------------------------' 72 | | C-k | kill-line | Kill the text from point to the end of | 73 | | | | the line. | 74 | '--------------+-------------------+----------------------------------------' 75 | | C-x Rubout | backward-kill | Kill backward to the beginning of the | 76 | | | -line | line. | 77 | '--------------+-------------------+----------------------------------------' 78 | | C-u | unix-line-discard | Kill backward from point to the | 79 | | | | beginning of the line. | 80 | '--------------+-------------------+----------------------------------------' 81 | | M-d | kill-word | Kill from point to the end of the | 82 | | | | current word. | 83 | '--------------+-------------------+----------------------------------------' 84 | | M-Rubout | backward-kill-word| Kill the word behind point. | 85 | '--------------+-------------------+----------------------------------------' 86 | | C-w | unix-word-rubout | Kill the word behind point, using | 87 | | | | white space as a word boundary. | 88 | '--------------+-------------------+----------------------------------------' 89 | | M-\ | delete- | Delete all spaces and tabs around | 90 | | | horizontal-space | point. | 91 | '--------------+-------------------+----------------------------------------' 92 | | C-y | yank | Yank the top of the kill ring into the | 93 | | | | buffer at point. | 94 | '--------------+-------------------+----------------------------------------' 95 | | M-y | yank-pop | Rotate the kill ring, and yank the new | 96 | | | | top | 97 | '--------------+-------------------+----------------------------------------' 98 | | (unbound) | kill-whole-line | Kill all characters on the current | 99 | | | | line | 100 | '--------------+-------------------+----------------------------------------' 101 | | (unbound) | kill-region | Kill the text between the point and | 102 | | | | mark. | 103 | '--------------+-------------------+----------------------------------------' 104 | | (unbound) | copy-region-as- | Copy the text in the region to the | 105 | | | kill | kill buffer. | 106 | '--------------+-------------------+----------------------------------------' 107 | | (unbound) | copy-backward- | Copy the word before point to the kill | 108 | | | word | buffer. | 109 | '--------------+-------------------+----------------------------------------' 110 | | (unbound) | copy-forward-word | Copy the word following point to the | 111 | | | | kill buffer. | 112 | '--------------'-------------------'----------------------------------------' 113 | | Keyboard Macros: | 114 | '--------------.-------------------.----------------------------------------' 115 | | C-x ( | start-kbd-macro | Begin saving the chars typed into the | 116 | | | | current keyboard macro. | 117 | '--------------+-------------------+----------------------------------------' 118 | | C-x ) | end-kbd-macro | End saving the chars typed into the | 119 | | | | current keyboard macro. | 120 | '--------------+-------------------+----------------------------------------' 121 | | C-x e | call-last-kbd- | Re-execute the last keyboard macro | 122 | | | macro | defined. | 123 | '--------------'-------------------'----------------------------------------' 124 | | Commands for Manipulating the History: | 125 | '--------------.-------------------.----------------------------------------' 126 | | Return | accept-line | Accept the line regardless of where | 127 | | | | the cursor is. | 128 | '--------------+-------------------+----------------------------------------' 129 | | C-p | previous-history | Fetch the previous command from the | 130 | | | | history list. | 131 | '--------------+-------------------+----------------------------------------' 132 | | C-n | next-history | Fetch the next command from the | 133 | | | | history list. | 134 | '--------------+-------------------+----------------------------------------' 135 | | M-< | beginning-of- | Move to the first line in the history. | 136 | | | history | | 137 | '--------------+-------------------+----------------------------------------' 138 | | M-> | end-of-history | Move to the end of the input history | 139 | '--------------+-------------------+----------------------------------------' 140 | | C-r | reverse-search- | Search backward starting at the | 141 | | | history | current line (incremental). | 142 | '--------------+-------------------+----------------------------------------' 143 | | C-s | forward-search- | Search forward starting at the current | 144 | | | history | line (incremental). | 145 | '--------------+-------------------+----------------------------------------' 146 | | M-p | non-incremental- | Search backward using non-incremental | 147 | | | reverse-search- | search. | 148 | | | history | | 149 | '--------------+-------------------+----------------------------------------' 150 | | M-n | non-incremental- | Search forward using non-incremental | 151 | | | forward-search- | search. | 152 | | | history | | 153 | '--------------+-------------------+----------------------------------------' 154 | | M-C-y | yank-nth-arg | Insert the n-th argument to the | 155 | | | | previous command at point. | 156 | '--------------+-------------------+----------------------------------------' 157 | | M-. M-_ | yank-last-arg | Insert the last argument to the | 158 | | | | previous command. | 159 | '--------------+-------------------+----------------------------------------' 160 | | (unbound) | history-search- | Search forward for a string between | 161 | | | backward | start of line and point. | 162 | '--------------+-------------------+----------------------------------------' 163 | | (unbound) | history-search- | Search backward for a string between | 164 | | | forward | start of line and point. | 165 | '--------------'-------------------'----------------------------------------' 166 | | Completing: | 167 | '--------------.-------------------.----------------------------------------' 168 | | TAB | complete | Attempt to perform completion on the | 169 | | | | text before point. | 170 | '--------------+-------------------+----------------------------------------' 171 | | M-? | possible- | List the possible completions of the | 172 | | | completions | text before point. | 173 | '--------------+-------------------+----------------------------------------' 174 | | M-* | insert- | Insert all completions of the text | 175 | | | completions | before point generated by | 176 | | | | possible-completions. | 177 | '--------------+-------------------+----------------------------------------' 178 | | (unbound) | menu-complete | Similar to complete but replaces the | 179 | | | | word with the first match. | 180 | '--------------+-------------------+----------------------------------------' 181 | | (unbound) | delete-char-or- | Deletes the car if not at the | 182 | | | list | beginning of line or acts like | 183 | | | | possible-completions at the end of | 184 | | | | the line. | 185 | '--------------'-------------------'----------------------------------------' 186 | | Miscellaneous: | 187 | '--------------.-------------------.----------------------------------------' 188 | | C-x C-r | re-read-init-file | Read and execute the contents of | 189 | | | | inputrc file. | 190 | '--------------+-------------------+----------------------------------------' 191 | | C-g | abort | Abort the current editing command and | 192 | | | | ring the terminal's bell. | 193 | '--------------+-------------------+----------------------------------------' 194 | | M-a, M-b, | do-uppercase- | If the metafield char 'x' is lowercase | 195 | | M-x, ... | version | run the command that is bound to | 196 | | | | uppercase char. | 197 | '--------------+-------------------+----------------------------------------' 198 | | ESC | prefix-meta | Metafy the next character typed. | 199 | | | | For example, ESC-p is equivalent to | 200 | | | | Meta-p | 201 | '--------------+-------------------+----------------------------------------' 202 | | C-_ or | undo | Incremental undo, separately | 203 | | C-x C-u | | remembered for each line. | 204 | '--------------+-------------------+----------------------------------------' 205 | | M-r | revert-line | Undo all changes made to this line. | 206 | '--------------+-------------------+----------------------------------------' 207 | | M-& | tilde-expand | Perform tilde expansion on the current | 208 | | | | word. | 209 | '--------------+-------------------+----------------------------------------' 210 | | C-@ or | set-mark | Set the mark to the point. | 211 | | M- | | | 212 | '--------------+-------------------+----------------------------------------' 213 | | C-x C-x | exchange-point- | Swap the point with the mark. | 214 | | | and-mark | | 215 | '--------------+-------------------+----------------------------------------' 216 | | C-] | character-search | Move to the next occurance of current | 217 | | | | character under cursor. | 218 | '--------------+-------------------+----------------------------------------' 219 | | M-C-] | character-search- | Move to the previous occurrence of | 220 | | | backward | current character under cursor. | 221 | '--------------+-------------------+----------------------------------------' 222 | | M-# | insert-comment | Without argument line is commented, | 223 | | | | with argument uncommented (if it was | 224 | | | | commented). | 225 | '--------------+-------------------+----------------------------------------' 226 | | C-e | emacs-editing- | When in vi mode, switch to emacs mode. | 227 | | | mode | | 228 | '--------------+-------------------+----------------------------------------' 229 | | M-C-j | vi-editing-mode | When in emacs mode, switch to vi mode. | 230 | '--------------+-------------------+----------------------------------------' 231 | | M-0, M-1, | digit-argument | Specify the digit to the argument. | 232 | | ..., M-- | | M-- starts a negative argument. | 233 | '--------------+-------------------+----------------------------------------' 234 | | (unbound) | dump-functions | Print all of the functions and their | 235 | | | | key bindings. | 236 | '--------------+-------------------+----------------------------------------' 237 | | (unbound) | dump-variables | Print all of the settable variables | 238 | | | | and their values. | 239 | '--------------+-------------------+----------------------------------------' 240 | | (unbound) | dump-macros | Print all of the key sequences bound | 241 | | | | to macros. | 242 | '--------------+-------------------+----------------------------------------' 243 | | (unbound) | universal- | Either sets argument or multiplies the | 244 | | | argument | current argument by 4. | 245 | '--------------'-------------------'----------------------------------------' 246 | 247 | 248 | =========================================================================== 249 | 250 | .---------------------------------------------------------------------------. 251 | | Peteris Krumins (peter@catonmat.net), 2007.10.30 | 252 | | http://www.catonmat.net - good coders code, great reuse | 253 | | | 254 | | Released under the GNU Free Document License | 255 | '---------------------------------------------------------------------------' 256 | 257 | --------------------------------------------------------------------------------