18Emacs

Emacs einfach nur als Editor zu bezeichnen, greift zu kurz: Das Programm eignet sich nicht nur zur Bearbeitung von Texten, sondern auch als komplette Entwicklungsumgebung, als E-Mail-Programm etc. Für manche Anwender ist der Emacs gleichsam ein Ersatzbetriebssystem für alle Funktionen der alltäglichen Arbeit. Wenn Sie mit dem Emacs erst einmal umgehen können, werden Sie nie wieder einen anderen Editor benötigen. Es versteht sich eigentlich von selbst, dass ich fast das gesamte Buch seit der ersten Auflage mit dem Emacs geschrieben habe ...

Wo viel Licht ist, da gibt es bekanntlich auch Schatten: Die Bedienung des Emacs sieht auf den ersten Blick ein wenig abschreckend aus. Es wimmelt nur so von (Strg)- und (Alt)-Sequenzen, mit denen die zahllosen Kommandos aufgerufen werden. Nicht umsonst behaupten Spötter, der Name Emacs stünde für Escape Meta Alt Control Shift. Auch die Benutzeroberfläche (Menü, Symbolleiste) wirkt antiquiert, deutschsprachige Menüs fehlen überhaupt, die Konfiguration ist umständlich etc. Kurz und gut: Der Emacs ist ein Editor für Profis, die bereit sind, Zeit für die Einarbeitung zu investieren, und die sich nicht an Äußerlichkeiten stören.

18.1Schnelleinstieg

Unter Linux gibt es zwei Emacs-Versionen: den GNU Emacs und den XEmacs (ehemals Lucid Emacs). Beide Versionen können sowohl in einer Textkonsole als auch unter X verwendet werden, und beide unterstehen der GPL. Auch sonst gibt es viele Ähnlichkeiten, aber auch viele kleine Unterschiede. Dieses Kapitel bezieht sich explizit auf den GNU Emacs in der Version 24.n (siehe Abbildung 18.1).

Der GNU Emacs

Abbildung 18.1Der GNU Emacs

Neben den beiden großen Emacs-Versionen existieren einige kleinere Varianten: jed, jmacs (aus dem Paket joe), jove und zile sind durchweg brauchbare Miniversionen. Ihr Hauptvorteil besteht darin, dass ihr Ressourcenbedarf viel geringer ist. Damit eignen sich diese Programme ideal für Notfallsysteme oder für ältere Rechner mit langsamen CPUs und wenig Speicher etc.

Weitere Informationen zum Emacs finden Sie hier:

http://www.gnu.org/software/emacs/emacs.html
http://www.emacswiki.org

Texte laden und speichern, Programm beenden

Der Emacs wird durch die Eingabe von emacs gestartet. Wenn Sie beim Start des Programms einen oder mehrere Dateinamen angeben, werden diese Dateien automatisch geladen. Dabei sind auch Suchmuster erlaubt: emacs Makefile *.[ch] lädt die Datei Makefile sowie alle *.c- und *.h-Dateien des aktuellen Verzeichnisses. Sobald das Programm einmal läuft, laden Sie weitere Dateien mit (Strg)+(X), (Strg)+(F) Dateiname (¢).

Mit (Strg)+(X), (Strg)+(S) speichern Sie die geänderte Datei. (Strg)+(X), (Strg)+(C) beendet das Programm. Wenn der Emacs dabei irgendwelche noch nicht gespeicherten Dateien entdeckt, erscheint eine Sicherheitsabfrage, ob Sie den Emacs tatsächlich ohne zu speichern verlassen möchten. Antworten Sie auf diese Abfrage durch die Eingabe von yes (¢), falls Sie die Änderungen tatsächlich verwerfen möchten. Um eine Datei unter einem anderen Namen zu speichern, geben Sie (Strg)+(X), (Strg)+(W) Dateiname (¢) ein.

Tastenkürzel

Funktion

(Strg)+(X), (Strg)+(F) datei (¢)

lädt eine Datei (Find).

(Strg)+(X), (I)

fügt eine Datei in den vorhandenen Text ein (Insert).

(Strg)+(X), (Strg)+(S)

speichert eine Datei (Save).

(Strg)+(X), (S)

speichert alle Dateien (mit Rückfrage).

(Strg)+(X), (S), (!)

speichert alle offenen Dateien (ohne Rückfrage).

(Strg)+(X), (Strg)+(W) datei (¢)

speichert unter einem neuen Namen (Write).

(Strg)+(X), (Strg)+(C)

beendet den Editor.

Tabelle 18.1Dateien laden und speichern, Emacs beenden

Wenn Sie den Emacs in einer Textkonsole verwenden, können Sie das Programm mit (Strg)+(Z) vorübergehend verlassen. Mit fg nehmen Sie die Arbeit wieder auf. Unter X bewirkt (Strg)+(Z) lediglich die Verkleinerung in ein Icon.

Der Emacs erstellt beim Speichern automatisch eine Sicherheitskopie name~, in der der ursprüngliche Text enthalten ist. Außerdem speichert der Emacs in regelmäßigen Abständen den aktuellen Zustand des Textes in der Datei #name#. Auf diese Datei können Sie zurückgreifen, wenn während des Arbeitens der Strom ausgefallen ist oder wenn Sie aus einem anderen Grund den Emacs nicht ordnungsgemäß verlassen konnten.

Beachten Sie, dass die #-Dateien im Emacs-internen Zeichensatz gespeichert werden und nicht in dem Zeichensatz, in dem Sie Ihre Datei bearbeitet haben.

Aus diesem Grund sollten Sie zur Wiederherstellung der Dateien (Alt)+(X) recover-session einsetzen. Alternativ können Sie auch direkt die #-Dateien laden und mit (Strg)+(X), (¢), (F) zeichensatz deren Zeichensatz verändern.

Elementare Kommandos

Üblicherweise bewegen Sie den Cursor mit den Cursortasten sowie mit (Bildì) bzw. (Bildë). Sollte das nicht funktionieren (z.B. wenn Sie den Emacs über ein schlecht funktionierendes Terminalprogramm gestartet haben), klappt es auf jeden Fall mit den in Tabelle 18.2 zusammengefassten Kommandos.

Tastenkürzel

Funktion

(Strg)+(F)

bewegt den Cursor ein Zeichen nach links (Forwards).

(Strg)+(B)

bewegt den Cursor ein Zeichen nach rechts (Backwards).

(Strg)+(P)

bewegt den Cursor eine Zeile nach oben (Previous).

(Strg)+(N)

bewegt den Cursor eine Zeile nach unten (Next).

(Strg)+(V)

bewegt den Text eine Seite nach oben.

(Alt)+(V)

bewegt den Text eine Seite nach unten.

Tabelle 18.2Tastenkürzel, falls die Cursortasten versagen

Sie können an jeder beliebigen Stelle neuen Text eingeben. Mit (Entf) und (_í) löschen Sie einzelne Zeichen. Alternativ existiert das Tastaturkommando (Strg)+(D) zum Löschen des Zeichens an der Cursorposition (delete).

Mit (Strg)+(X), (U) (undo) oder mit (Strg)+(ˆ), im deutschen Tastaturlayout also (Strg)+(ª)+(-), widerrufen Sie die letzten Änderungen. Diese Undo-Funktion funktioniert für beliebig komplexe Kommandos und praktisch unbegrenzt!

Wenn Ihnen während der Eingabe eines Kommandos ein Fehler unterläuft, können Sie die Kommandoeingabe mit (Strg)+(G) abbrechen. Das ist besonders dann praktisch, wenn Sie irrtümlich (Esc) drücken.

Online-Hilfe

Der Emacs stellt zahlreiche Kommandos zum Aufruf der englischsprachigen Online-Hilfe zur Verfügung. Das für den Einstieg wichtigste Kommando lautet (F1), (T) (Tutorial). Mit (Strg)+(X), (B), (¢) gelangen Sie in den ursprünglichen Text zurück.

Wenn nach der Ausführung eines Hilfe-Kommandos mehrere Textabschnitte (Fenster) übrig bleiben, können Sie mit (Strg)+(X), (O) (»Oh«) den Textcursor in das jeweils nächste Fenster stellen. (Strg)+(X), (0) (»Null«) entfernt das aktuelle Fenster; (Strg)+(X), (1) löscht alle Fenster außer dem aktuellen Fenster. Mit den drei Kommandos können Sie also zwischen dem Hilfe- und dem Textfenster hin- und herspringen und schließlich das Hilfefenster wieder entfernen.

Wird der Hilfetext dagegen seitenfüllend angezeigt, können Sie mit (Strg)+(X), (B), (¢) zurück in Ihren eigentlichen Text springen. Intern wird die Verwaltung mehrerer Texte – also beispielsweise Ihres Textes und des Hilfetextes – durch sogenannte Puffer realisiert (siehe Abschnitt 18.8, »Puffer und Fenster«).

Tastenkürzel

Funktion

(F1), (F1)

Übersicht über vorhandene Hilfekommandos

(F1), (A) text (¢)

Übersicht über alle Kommandos, die text enthalten (Apropos)

(F1), (B)

Übersicht über alle Tastenkürzel (Bindings)

(F1), (C) tastenkürzel

Kurzbeschreibung des zugeordneten Kommandos (Command)

(F1), (F) kommando (¢)

Kurzbeschreibung des Kommandos (Function)

(F1), (ª)+(F)

Emacs-FAQ (Frequently Asked Questions)

(F1), (I)

startet das info-System zur Anzeige hierarchischer Hilfetexte (zur Bedienung siehe Abschnitt 11.3, »Online-Hilfe«).

(F1), (N)

Zusammenfassung der Neuerungen in der aktuellen Version im Vergleich zu den früheren Versionen

(F1), (T)

Einführung in die Bedienung von Emacs (Tutorial)

(F1), (Strg)+(F) name

startet das info-System und zeigt Informationen zum angegebenen Kommando an.

(F1), (Strg)+(P)

Informationen über die Idee freier Software

Tabelle 18.3Online-Dokumentation nutzen

Die wichtigste Informationsquelle zum Emacs ist das interne info-System, das offiziell als Emacs-Handbuch gilt. Bei manchen Distributionen wird dieses Handbuch auch im HTML-Format mitgeliefert, sodass es noch komfortabler gelesen werden kann.

Die eingebaute Online-Hilfe des Emacs liegt im Info-Format vor. Beim Lesen von info-Texten wird im Emacs ein eigener info-Modus aktiviert.

Querverweise bzw. Menüeinträge können Sie einfach durch Klicken mit der mittleren Maustaste verfolgen. Mit (L) gelangen Sie zur zuletzt sichtbaren Seite zurück.