emacs, written by Richard M. Stallman, is a text editor on crack. It has many modules -- sort of like plug-ins -- that allow you to do all sorts of stuff while still editing (e.g., checking your email.) (It should be noted, however, that despite its muscularity it still is primarily a text editor, not a word processor.) It is difficult to learn to use for most, but those who do often grow enamored of its versatility.
In the normal editing mode, Emacs behaves just like other text editors: the character keys (a, b, c, 1, 2, 3, etc.) insert the corresponding characters, the arrow keys move the editing point, backspace deletes text, and so forth. Other commands are invoked with modified keystrokes, using the control key and/or the meta key/alt key. Every editing command is actually a call to a function in the Emacs Lisp environment. Even a command as simple as typing
a to insert the character a involves calling a function -- in this case,
Some of the basic commands are shown below. The control key is denoted by a capital C, and the meta or alt key by a capital M.
||Move forward past one word.|
||Undo last change, and prior changes if pressed repeatedly.|
||Abort the current command.|
||Wrap text in ("fill") a paragraph.|
||Save the current text into a file.|
||Offer to save changes, then exit Emacs.|
Note that the commands
save-buffers-kill-emacs use multiple modified keystrokes. For example,
C-x C-c means: while holding down the control key, press x; then, while holding down the control key, press c. This technique, allowing more commands to be bound to the keyboard than with the use of single keystrokes alone, first appeared in Emacs. It has since made its way into modern code editors like Visual Studio.
When Emacs is running a graphical interface, many commands can be invoked from the menubar or toolbar instead of using the keyboard. However, many experienced Emacs users prefer to use the keyboard anyway, because it is faster and more convenient once the necessary keystrokes have been memorized.
- Stallman, Richard M. (1981). EMACS: The Extensible, Customizable, Self-Documenting Display Editor. Cambridge Massachusetts: MIT. MIT Artificial Intelligence Laboratory publication AIM-519A. PDF HTML
- Stallman, Richard M. (2002). GNU Emacs Manual. 15th edition. GNU Press ISBN 1-882114-85-X.
- Chassell, Robert J. (2004). An Introduction to Programming in Emacs Lisp. GNU Press ISBN 1-882114-56-6.
- Wikipedia.org's Emacs article
- The GNU Emacs homepage
- The XEmacs homepage
- Emacs users' wiki
- Multics Emacs: The History, Design and Implementation
- Why I Became An Emacs User
- List of Emacs implementations
- The Craft of Text Editing or Emacs for the Modern World
- An Emacs timeline
- The name for Emacs (Humour)
- Another name-related humor page