This is version . It is not the current version, and thus it cannot be edited.
Back to current version   Restore this version

Emacs Editor#

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 commands to help get you started.

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

Exiting and Stopping Emacs#

^x ^c exit emacs
^g abort the current function

Files#

^x ^fread a file into an emacs buffer
^x ^ssave a the buffer currently being edited to the original file
^x ssave all modified buffers to their respective files
^x iinsert a file at current location
^x ^wwrite buffer to a named file

Motion#

In addition to the normal motion commands using standard cursor keys (up, down, left, right, PgUp, PgDn, etc.) emacs also uses the following:

^a beginning of line
^e end of line
^right forward a word
^left backward a word
^down next paragraph
^up previous paragraph
Esc < beginning of buffer
Esc > end of buffer

Deleting#

Del delete the character the cursor is on
bksp delete the previous character
Esc d delete following word
Esc bksp delete previous word
^k delete to end-of-line
Ctl-Shft-Bksp delete line
Esc \ delete all space and tab characters around the point

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

Locations and Regions#

The current position/location is considered the space between the location of the cursor and the previous character. This is called the point. A point that is remembered is called a mark. A region is between the last mark and the current cursor position (the point).

^space set mark here
^x ^x exchange point and mark
^u ^space go to previous mark

Cutting and Pasting#

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.

^w delete region and put on kill ring
Esc w copy region to kill ring
^y yank back (paste) the last thing in the kill ring
Esc y replace last yank with prior region in the kill ring

Incremental Search#

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.

^s incremental search forward
^r incremental search backward
^g abort search
Esc-^s incremental search forward with regular expressions
Esc-^r incremental search backward with regular expressions

^s and ^r can be used while searching in order to find the next occurrence.

Search and Replace#

Esc % interactive search & replace
Esc x query-replace-regexp interactive search & replace utilizing regular expressions

The following valid responses are accepted during the interactive search and replace process.

space replace and find next
bksp no replace, find next
! replace all remaining non-interactively
^ go back to previous find
, replace current one and don't find next
return exit function
^r recursive edit *
  • recursive edit allows you to go back to a normal edit process. You then type "Esc ^c" to exist the recursive edit and return to the search and replace process.

Buffers#

In general, buffers contain files being edited. Emacs can edit any number of files at a time. Emacs also supports multiple windows. Each window would display a particular buffer. Emacs can display any number of windows with any buffer (or the same buffer) at a time. In general, buffers have the same name as the file they hold.

Killing a buffer that contains changes to a file that you have not yet saved will cause the changes to be lost. However, emacs will warn you about this so that it doesn't happen accidentally.

^x b select a different buffer to be displayed in the current window
^x ^b list all buffers
^x 1 delete the buffer list
^x k kill a buffer

Multiple Windows#

Window operations do not affect buffers. It only affects what is displayed. So, killing or creating windows does not affect files.

When you split the screen you will see two copies of the same file that may be navigated independently. Generally, after you split a window you would place a different buffer (representing a different file) in the window by either utilizing a file command or buffer command.

^x 2 split current window above and below
^x 3 split window side-by-side
^x 1 delete all other windows (doesn't hurt the buffers)
^x 0 delete the current window (^x zero)
^x o move cursor to the next (or other) window (^x oh)

Keyboard Macros#

Emacs can remember a sequence of keys and emacs commands and be made to repeat them.

^x ( start learning a sequence
^x ) stop learning and remember the sequence as a macro
^x e execute the last learned macro

Registers#

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.

^x r s save marked region in a named register
^x r i insert saved region into the current location

^x r space save the current location in a named register
^x r j jump to the location previously saved

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

Help#

Emacs is fully documented. This documentation is available right with emacs.

^h i access the embedded emacs manual
^h t run the emacs tutorial

Once viewing the manual, the following navigation commands are active.

m enter go to the menu item that you have placed the cursor on
u go up (back) to the previous menu level
q quit or exit the manual
space scroll forward a page
bksp scroll back a page
. top of current section
n next node (or section)
p previous node (or section)

Add new attachment

Only authorized users are allowed to upload new attachments.
« This particular version was published on 30-Sep-2013 17:02 by BlakeMcBride.