|
Unix Programming - Choosing an Editor - Useful Things to Know about Emacs
Useful Things to Know about Emacs
Emacs stands for ‘EDiting
MACroS’ (pronounce it /eemaks/). It was originally
written in the late 1970s as a set of macros in an editor called TECO,
then reimplemented several times in different ways. In an amusing
twist, modern Emacs implementations include a TECO emulation
mode.
In our earlier discussion of editors and optional complexity, we
noted that many people consider Emacs
excessively heavyweight. However, investing the time to learn it can
yield rich rewards in productivity. Emacs
supports many powerful editing modes that offer help with the syntax
of various programming languages and markups. We'll see later in this
chapter how Emacs can be used in
combination with other development tools to give capabilities
comparable to (and in many ways surpassing) those of conventional
IDEs.
The standard Emacs, universally
available on modern Unixes, is GNU Emacs;
this is what generally runs if you type emacs to a
Unix shell prompt. GNU Emacs sources and documentation are available
at the Free Software Foundation
archive site
.
The only major variant is called
XEmacs; it has a better X interface but
otherwise quite similar capabilities (it forked from Emacs
19). XEmacs has a home page.
Emacs (and Emacs Lisp) is universally
available under modern Unixes. It has been ported to MS-DOS (where it
works poorly) and Windows 95 and NT (where it is said to work
reasonably well).
Emacs includes its own interactive
tutorial and very complete on-line documentation; you'll find
instructions on how to invoke both on the default
Emacs startup screen. A good introduction
on paper is Learning GNU Emacs [Cameron].
The keystroke commands used in the Unix ports of
Netscape/Mozilla and Internet Explorer text windows (in forms and the
mailer) are copied from the stock Emacs
bindings for basic text editing. These bindings are the closest thing
to a cross-platform standard for editor keystrokes.
[an error occurred while processing this directive]
|