17 Emacs
Während VI (mit all seinen Klonen) zweifellos der verbreitetste Editor auf Unix Systeme ist, ist Emacs der zweitverbreitetste. Anstatt wie VI verschiedene Modi zu verwenden, werden im Emacs Editor mit diversen Kombinationen der Steuerung und Alt Tasten Kommandos eingegeben. Auf dieselbe Art kann man in Textverarbeitungsprogrammen und natürlich auch in anderen Anwendungen verschiedene Funktionen aufrufen (Obwohl die Kommandos selten den Funktionen in anderen Programmen entsprechen; während heutzutage viele Anwendungen Strg-X / C / V zum Ausschneiden, Kopieren und Einfügen verwenden, benutzt Emacs andere Tastenkombinationen und Aktionen um das zu tun).
Aber anders als VI, der ein excellenter Editor, aber nicht mehr ist, ist Emacs ein Programm mit nahezu endlosen Fähigkeiten. Emacs wurde (größtenteils) in Lisp geschrieben,
... Emacs is (for the most part) written in Lisp, which is a very powerful programming language that has the peculiar property that every program written in it is automatically a Lisp compiler of its own. This means that the user can extend Emacs, and in fact write completely new programs “in Emacs”.
As a result, Emacs is not just an editor anymore. There are many add-on packages for Emacs available (many come with the program's source) that provide all sorts of functionality. Many of these are related to text editing, which is after all Emacs' basic task, but it doesn't stop there. There are for example several spreadsheet programs for Emacs, there are databases, games, mail and news clients (the top one being Gnus), etc.
There are two main versions of Emacs: GNU Emacs (which is the version that comes with Slackware) and XEmacs. The latter is not a version for Emacs running under X. In fact, both Emacs and XEmacs run on the console as well as under X. XEmacs was once started as a project to tidy up the Emacs code. Currently, both versions are being actively developed, and there is in fact much interaction between the two development teams. For the present chapter, it is immaterial whether you use Emacs or XEmacs, the differences between them are not relevant to the normal user.