At line 3 changed 2 lines |
The emacs editor is perhaps the most powerful editor available. It runs under Unix, Linux, Macintosh, and Windows. It is highly customizable, and is even programable. Emacs comes with hundreds of modes and thousands of commands. The following list represents a tiny |
set of command to help get you started. |
The emacs editor is perhaps the most powerful editor available. It runs under Unix, Linux, Macintosh, and Windows. It is highly customizable and programmable. Emacs comes with hundreds of modes and thousands of commands. The following list represents a tiny set of commands to help get you started. |
At line 5 added 14 lines |
In what follows, "^x" would mean pressing the "x" key while the control key is held. "^x^f" would mean press "xf" while holding the control key down. "^xs" means press the "x" key while the control key is held, and then hit the "s" key after releasing the control key. The control key acts like the shift key in that it modifies the affect of the other key pressed. |
|
In an effort to make things as difficult as possible, the Macintosh labels their keyboard differently from everyone else. The backspace (bksp) key is labeled "delete" on the Macintosh. They use fn-delete as a "del" key. |
|
!!Glossary Of Terms |
|
| file | file on the disk |
| buffer | emacs' internal copy of a file to be edited |
| window | a rectangular section of the display used to display an emacs buffer |
| point | a spot between the two characters identified by the current cursor position and the character before it |
| mark | a previously saved point (not necessarily the current point) |
| region | a block of text between the mark and point |
|
|
At line 8 changed one line |
| exit | ^X^C |
| ^x ^c | exit emacs |
At line 13 changed 4 lines |
|^x ^f|read a file into emacs |
|^x ^s|save a file |
|^x s|save all files |
|^x i|insert a file at current location |
|^x ^f|read a file into a new emacs buffer |
|^x ^s|save the buffer currently being edited to the original file |
|^x s|save all modified buffers to their respective files |
|^x i|insert a file at the current location (^x-eye) |
At line 19 changed one line |
!!Motion |
!!Cursor Motion |
At line 21 changed 2 lines |
|^a | beginning of line |
|^e | end of line |
In addition to the normal motion commands using standard cursor keys (up, down, left, right, PgUp, PgDn, etc.) emacs also uses the following: |
|
|^f | forward a character |
|^b | back a character |
|^n | next line |
|^p | previous line |
|^a | beginning of the line |
|^e | end of the line |
| ^right | forward a word |
| ^left | backward a word |
| ^down | next paragraph |
| ^up | previous paragraph |
At line 49 added 8 lines |
!! Scrolling (screen motion) |
|
|^v or PgDn|Scroll down |
|Esc-v or PgUp|Scroll up |
|Esc 0^l|Current line to top of screen (Esc zero Ctl-ell) |
|Esc ^l|Current line to middle of screen (Esc Ctl-ell) |
|
|
At line 28 changed one line |
| ^d | delete character |
| Del | delete the character the cursor is on |
| bksp | delete the previous character |
At line 30 changed one line |
| Esc Del | delete previous word |
| Esc bksp | delete previous word |
At line 32 changed one line |
| Ctl-Shft-Bksp | delete line |
| Ctl-Shft-Bksp | delete the whole line |
| Esc \ | delete all space and tab characters around the point |
At line 67 added 10 lines |
!!Undoing |
|
If you make a mistake you can undo it with the following command. This command can be repeated to undo the prior command and so on back to the beginning of all of your edits. |
|
| ^/ | undo edit |
|
Consecutive undo's via consecutive ^/ |
|
To redo, type anything except a ^/ The following ^/ will redo. |
|
At line 42 changed one line |
| ^u ^space | go to previous mark |
| ^u ^space | go to the previous mark |
At line 46 changed 2 lines |
Unlike other editors, rather than a single cut / paste buffer where only a single item can be cut and paste at a time, |
emacs remembers all cuts and copies so that you can paste the last cut or any prior one. |
Unlike other editors, rather than a single cut / paste buffer where only a single item can be cut and paste at a time, emacs remembers all cuts and copies so that you can paste the last cut or any prior one. |
At line 52 changed one line |
| Esc y | replace last yank with prior thing in the kill ring |
| Esc y | replace last yank with prior region in the kill ring |
At line 56 changed 3 lines |
Incremental search differs from a typical search feature in that it starts the search with the first character and |
refines the search as you type each subsequent character in the search. This way one may find what one is looking for |
as soon as possible without typing any more characters than necessary. |
Incremental search differs from a typical search feature in that it starts the search with the first character and refines the search as you type each subsequent character in the search. This way one may find what one is looking for as soon as possible without typing any more characters than necessary. |
At line 62 changed one line |
| ^g | abort search |
| ^g | abort the search |
| Esc-^s | incremental search forward with regular expressions |
| Esc-^r | incremental search backward with regular expressions |
At line 106 added one line |
|
At line 109 added 2 lines |
Emacs's regular expression syntax corresponds to grep's extended regular expression syntax. See [grep] |
|
At line 74 changed one line |
| del | no replace, find next |
| bksp | no replace, find next |
At line 136 added one line |
| ^x 1 | delete the buffer list |
At line 103 changed one line |
| ^x 0 | delete the current window |
| ^x 0 | delete the current window (^x zero) |
| ^x o | move cursor to the next (or other) window (^x oh) |
At line 159 added one line |
| ^x^kbX | bind the last keyboard macro to the sequence ^x^kX (where X is any number or upper-case letter) |
At line 161 added 8 lines |
!!Repeating |
|
All emacs command may be executed any number of times by preceding the command as follows: |
|
| Esc N cmd | repeat command cmd N times |
|
This is especially useful with keyboard macros in order to repeat a sequence many times. |
|
At line 115 changed 2 lines |
Emacs has the ability to save and name any number of locations and text that has been cut or copied. Each location or block of text is saved |
in a register. Registers are simply variables with single character names. The name used is up to you. Emacs will ask you for the name. |
Emacs has the ability to save and name any number of locations and text that has been cut or copied. Each location or block of text is saved in a register. Registers are simply variables with single character names. The name used is up to you. Emacs will ask you for the name. |
At line 179 added one line |
|
At line 128 changed one line |
| ^h i | access the embedded emacs manual |
| ^h i | info - access the embedded emacs manual |
| ^h t | run the emacs tutorial |
| ^h b | describe bindings - explain all current keyboard bindings |
| ^h m | describe mode - explain all facilities for the current file type mode |
At line 136 changed one line |
| del | scroll back a page |
| bksp | scroll back a page |
At line 199 added 21 lines |
|
!! Tags |
|
Emacs comes with a program named “etags” that is used to create tag files. |
|
Tag files are named “TAGS” |
|
You can run etags in several directories producing one big tag file representing the whole project. |
|
|
Usage: {{{etags [-o OUTFILE] [-a] *.c *.h}}} |
|
|
| Esc-x visit-tags-table | read a TAGS file |
| Esc-. | find tag |
| ^u-Esc-. | find next tag |
| Esc-* | go back to where tag was searched |
| Esc-Tab | symbol completion |
|
| ^x-^space | go back to previous location |
|