The designers of Emacs[119] built a programmable editor
that could have task-related intelligence customized into it for
hundreds of different specialized editing jobs. They then gave it the
ability to drive other tools. As a result, Emacs supports dealing with
all things textual in one shared context — files, mail, news,
debugger symbols. It can serve as a customizable front end to any
command with an interactive textual interface.
It is a common joke, both among fans and detractors of
Emacs, to describe it as an operating
system masquerading as an editor. That overstates the case, but
Emacs certainly does fulfill the role
occupied by integrated development environments (IDEs) under non-Unix
operating systems (a theme to which we shall return in Chapter15).
This power comes at a price in complexity. To use a customized
Emacs you have to carry around the Lisp
files that define your personal Emacs
preferences. Learning how to customize
Emacs is an entire art in
itself. Emacs is correspondingly harder to
learn than vi.
[an error occurred while processing this directive]