Für alle Zwecke

Zum Programmieren gibt es IDEs, mit denen man alles zusammenklicken kann. In dunkler Vorzeit benutzte man dafür Editoren, von denen sich einer bester Gesundheit erfreut. Er eignet sich als Schnittstelle für nahezu alles, was man mit einem Rechner anstellen kann.

vorlesen Druckansicht
Lesezeit: 4 Min.
Von
  • Christian Kirsch

Eight megabytes and constantly swapping“, so lautet eine der weniger charmanten Erläuterungen für das Wort „Emacs“. Eine andere, nicht durch die Hardwareentwicklung überholte, heißt „Escape, Meta, Alt, Control, Shift“. Diese Aufzählung deutet schon eine wesentliche Eigenart des mittlerweile fast 40 Jahre alten Editors an: Seine Bedienung erfolgt überwiegend per Tastatur.

Was an Point & Klick-IDEs gewöhnten Entwicklern wie Steinzeit vorkommen mag, hat im Alltag große Vorteile. Nicht zufällig finden sich viele der vom Emacs eingeführten Tastaturkürzel heute in Eclipse oder Mac OS X wieder: Ctrl-K löscht bis zum Ende einer Zeile, Ctrl-A springt zum Zeilenanfang und Ctrl-E zum Ende. Gleichzeitig haben auch die Emacs-Entwickler dazugelernt, sodass aktuelle Versionen ebenso auf Mausbefehle reagieren wie auf das Drücken von Tasten.

Anders als typische Entwicklungsumgebungen ist Emacs komplett programmierbar. Aus historischen Gründen dient dazu Lisp. In dieser Sprache sind große Teil des Editors selbst geschrieben, ebenso zahlreiche Erweiterungen. Sie erlaubt es zumindest grundsätzlich, Emacs eigenen Wünschen und Bedürfnissen anzupassen. Der Lernaufwand ist allerdings nicht zu unterschätzen.

Aber auch wer nicht in die Lisp-Programmierung einsteigen will, findet mit dem Editor Unterstützung bei vielen Aufgaben. Das beginnt beim Schreiben von normalen Texten, geht über das Programmieren in praktisch jeder aktuellen Programmiersprache bis hin zum Übersetzen und Debuggen der selbstgeschriebenen Programme. Ein sprachabhängiger „Mode“ färbt und rückt syntaxorientiert ein. Üblicherweise lassen sich Blöcke ein- und ausklappen, und ein Tastendruck öffnet die Definition einer Funktion. Dabei kann man sowohl mehrere Fenster verwenden als auch Tabs in Fenstern und horizontal oder vertikal geteilte Tabs. So ist es etwa möglich, zwei weit entfernte Teile derselben Datei in einem oberen und unteren Teilfenster zu bearbeiten.

Modes gibt es nicht nur für Programmieraufgaben, sondern unter anderem auch zum Bearbeiten von Texten, Lesen von Mails oder News, Erstellen von Gliederungen („Outlines“), Anschauen von tar-Archiven und Modifizieren von Binärdateien („Hex-Mode“).

Fehlt einer, kann man den Mode selbst schreiben, sei es als kleinere Ergänzung („minor mode“) eines vorhandenen oder als eigenständigen „major mode“. So benutzt die iX-Redaktion einen eigenen Minor-Mode des Textmodus, der unerwünschte Konstruktionen wie Passiva einfärbt, Zwischenüberschriften hervorhebt und das Markieren mit Auszeichnungen für das Satzsystem erleichtert. Dank des Emacs-Interface zur Shell kann man im iX-Mode zudem Literaturhinweise in der Datenbank suchen und satzfertig formatiert in den Text einfügen lassen.

Beim Entwickeln eines solchen eigenen Modus hilft wiederum der Lisp-Mode: Er findet automatisch die passenden öffnenden und schließenden Klammern, analysiert den Code à la lint und führt einzelne Funktionen oder den gesamten Puffer auf Knopfdruck aus. Mit Ctrl-h-f liefert der Editor Informationen zur Funktion, über der sich der Cursor befindet; Ctrl-h-v leistet dasselbe für Variablen. Zudem hilft ein integrierter Debugger bei der Fehlersuche.

Der Emacs stammt ursprünglich aus der Feder des Open-Source-Aktivisten Richard Stallman. Folglich steht er unter der freien GPL-Lizenz. Inzwischen gibt es neben dem Original, das zurzeit in Version 24 vorliegt, mehrere Ableger. Der bekannteste und älteste dürfte XEmacs sein. Er entstand ursprünglich, weil die Emacs-Entwickler bei der Unterstützung des X-Window-Systems recht zögerlich zu Werke gingen und weil es unter den Programmierern zum Streit über Implementierungsdetails gekommen war. Inzwischen ist die Arbeit am XEmacs in sehr ruhigen Fahrwassern, die letzte Release 21.4 erschien 2009.

Ein weiterer Fork ist der für Mac OS X angepasste Aquamacs. Er soll Apple-Kunden die Arbeit durch stärkere Integration in das Betriebssystem erleichtern. So nutzt er etwa die ohnehin mitgelieferte Rechtschreibkorrektur statt des sonst bei Emacs verwendeten aspell und bietet neben den üblichen Tastenkürzeln auch Apples Tastaturkombinationen an: Dateien lassen sich deshalb wahlweise mit Ctrl-X-F oder mit Cmd-O öffnen, Cmd-A markiert alles, Cmd-C kopiert und Cmd-V fügt ein.

Quellcode für den Emacs und seine Forks gibt es auf den jeweiligen Webseiten (s. „Alle Links“). Viele Linux-Distributionen enthalten geeignete Binärpakete. Fertig übersetzte Windows- und OS-X-Versionen gibt es auf der Emacs-Website. Aquamacs liefern die Entwickler ebenfalls als Binärpaket über ihre Website aus.

Alle Links: www.ix.de/ix1208129 (js)