The
"other" interactive editor
that's commonly used is Emacs. Emacs actually refers
to a family of editors; versions of Emacs run under most operating
systems available. However, the most important (and most commonly
used) version of Emacs is "GNU
Emacs," developed by the Free Software Foundation.
Go to http://examples.oreilly.com/upt3 for more information on: emacs
GNU Emacs is popular because it's the most powerful
editor in the Emacs family; it is also freely available under the
terms of the FSF's General Public License. Although
there are certainly strong differences of opinion between Emacs and
vi users, most people agree that Emacs provides a
much more powerful and richer working environment.
What's so good about
Emacs, aside from the fact that it's free? There are
any number of individual features that I could mention.
(I'll give a list of favorite features in Section 19.2.) Emacs' best feature
is the extent to which it interacts with other Unix features. For
example, it has a built-in email system so you can send and receive
mail without leaving the editor.
It has tools for
"editing" (deleting, copying,
renaming) files, for running a Unix shell within Emacs, and so on.
The C shell has a rather awkward command-history mechanism; the Korn
shell has something more elaborate. But imagine being able to recall
and edit your commands as easily as you edit a letter!
That's far beyond the abilities of any shell, but
it's simple when you run a shell inside your editor.
In this book, we can't give anywhere near as much
attention to Emacs as we can to vi
(Section 17.1), but we will point out some of its
best features and a few tricks that will help you get the most out of
it. For the impatient, here's a very brief survival
guide to Emacs.
- Starting Emacs
-
Like vi, Emacs can
be started from the shell prompt by typing its name,
emacs. Once started, emacs will present you with a
helpful screen of commands. A word of advice: take the tutorial
(CTRL-h t). If you want to edit an existing file, simply type
emacs with the desired filename after it. While
editing your file, you may save your work to disk with CTRL-x CTRL-s.
- Exiting Emacs
-
To
exit emacs,
type CTRL-x CTRL-c. If you haven't saved your work
yet, you will have the opportunity to do so before Emacs quits.
- Moving around
-
Unlike vi, Emacs
doesn't have a command mode. Like many more modern
editors, Emacs allows the user to begin typing his document
immediately. Terminal emulation willing, the arrow keys work as
expected to move your cursor in and around lines of text. For long
documents, you can move by pages rather than lines. Pressing CTRL-v
moves the cursor lower in the document, while ESC-v moves the cursor
towards the begining.
- Deleting characters and lines
-
The BACKSPACE key normally erases one
character to the left of the cursor, and the DELETE key erases the
charater under the cursor. Entire lines of text may be removed using
CTRL-k, which removes all text from the cursor to the end of the
line. You can paste back the most recent cut with CTRL-y.
- Undo
-
To undo your last action, type CTRL-x u.
You can cancel out of a command sequence with CTRL-g. This is helpful
when you're experiencing key lag and type a few
extra CTRL-c's.
One last tip before moving on. The Emacs online help
descibes key bindings using different abbreviations
than used in this book. In the Emacs documentation, C-x is our
CTRL-x. Their M-x is our ESC-x. The M stands for META key,
which is mapped to the ESCAPE key and usually to the
ALT key as
well. For consistency, this chapter always refers to the ESCAPE key.
--ML, BR, DC, and JJ