Wenn Sie ein neuer Anwender sind, werden Sie wahrscheinlich den Emacs
starten, um damit herumzuspielen und ihn auszuprobieren. Ist der
Emacs erst einmal gestartet und Sie wollen ihn schließen, wissen Sie
vielleicht nicht, was zu tun ist. Wenn Sie also vorher noch nie mit
dem Emacs gearbeitet haben, versuchen Sie es jetzt gleich
einmal. Tippen Sie emacs
an Ihrem Shellprompt und drücken Sie die
»Return«-Taste. Der Emacs sollte dann starten. Wenn nicht, ist er
entweder nicht installiert oder nicht in Ihrem Pfad.
Wenn Sie sich den Emacs angesehen haben, müssen Sie wissen, wie er beendet wird. Mit der Tastenkombination »C-x C-c« wird er verlassen. Die »C-x« Schreibweise bedeutet: halten Sie die »Ctrl«-Taste (auf einer deutschen Tastatur ersetzen Sie bei Befehlen die Control-Taste bitte immer durch die Steuerungs-Taste, »Strg«) gedrückt und drücken Sie »x«. In diesem Fall, müssen Sie dann die »Ctrl«-Taste gedrückt halten und auf »c« drücken, um den Befehl zu vollenden.
Die beim Emacs benutzten Tastenkombinationen erscheinen Ihnen
vielleicht zuerst etwas komisch, fremd und wahrscheinlich sogar
unbequem - besonders dann, wenn Sie ein vi
-Anwender sind. Anders als
der vi
hat der Emacs keine besonderen Modi, um Text zu editieren und
Befehle auszuführen.
Zur Erinnerung: emacs
startet den Emacs. Mit
»C-x C-c« wird er geschlossen.
Wenn der Emacs gestartet wird, nimmt er ein ganzes X Fenster ein (oder den gesamten Bildschirm, wenn Sie von einer Konsole aus arbeiten, anstelle des X Window Systems). Entlang des oberen Randes sehen Sie ein Menue, etwas Text im Hauptteil des Bildschirms, und ein paar Zeilen am unteren Rand.
Es wird in etwa so aussehen wie diese ASCII-Skizze:
+----------------------------------------------------------------------+
|Buffers Files Tools Edit Search Mule Help |
| |
|Welcome to GNU Emacs, one component of a Linux-based GNU system. |
| |
| |
| |
| ... |
| |
|---1:---F1 *scratch* (Lisp Interaction)--L1--All-------------|
|For information about the GNU Project and its goals, type C-h C-p. |
+----------------------------------------------------------------------+
Beachten Sie: der Emacs wird normalerweise den gesamten Bildschirm
oder das ganze Fenster ausfüllen. Ich habe das obige Beispiel kleiner
dargestellt, um hier Platz zu sparen. Sie werden auch einen
Begrüßungstext im Emacs sehen, wenn Sie ihn das erste Mal starten. Ich
habe ihn auch ausgelassen und anstatt dessen durch »...
« ersetzt. Der
Begrüßungstext gibt lediglich die genaue Emacs-Version an, die Sie
benutzen und verweist Sie auf die Online-Hilfe und damit verwandte
Themen.
Die allererste Zeile der Emacs-Oberfläche ist ein Menue. Wenn Sie mit X arbeiten, werden Sie sie als die üblichen Pull-Down-Menues wahrnehmen, auf die Sie mit Ihrer Maus zugreifen können. Wenn nicht, müssen Sie Tastenkürzel verwenden (werden hier nicht behandelt), um auf die Menues zugreifen zu können.
Von den letzten zwei Zeilen der Emacs-Oberfläche ist die oberste im Wesentlichen eine Statuszeile. Sie beinhaltet Informationen über den Puffer in dem Sie arbeiten, in welchem Modus sich der Emacs befindet, und verschiedene andere Dinge. Merken Sie sich für den Moment einfach, dass sie da ist.
Die unterste Zeile wird Mini-Puffer genannt. Er wird vom Hauptpuffer durch die Statuszeile getrennt, die wir gerade besprochen haben. Sie können den Mini-Puffer als die »Kommandozeile« des Emacs betrachten. Hier werden Befehle angezeigt, die Sie dem Emacs erteilen und hier werden - je nach dem, was Sie tun - Statusmeldungen ausgegeben.
Das, was ich die Statuszeile genannt habe, wird in Dokumentationen zum Emacs normalerweise als Moduszeile bezeichnet. Hier zeigt der Emacs Informationen über den/die augenblicklichen Modus/Modi, die Sie vielleicht benutzen, aber auch Dinge wie das aktuelle Datum und die Zeit, die Zeilennummer, Dateigröße und fast alles, was Sie dort möglicherweise sehen möchten.
Dieser Abschnitt behandelt die grundlegendsten Emacs-Fachausdrücke, denen Sie bei der Benutzung des Emacs und dem Lesen über den Emacs begegnen werden.
Anders als bei einigen Editoren, bleibt beim Emacs eine Datei an der Sie arbeiten, nicht die ganze Zeit »geöffnet«. Anstatt dessen, liest der Emacs die Datei in einen Speicherpuffer ein. Während Sie den Puffer editieren und mit den Daten arbeiten, ändert sich nichts auf der Festplatte. Nur wenn Sie wirklich den Puffer speichern, wird die Datei auf der Festplatte aktualisiert. Es gibt bei diesem Verfahren Vor- und Nachteile, es ist aber nur wichtig, dass Sie verstehen, dass es so funktioniert.
Aus diesem Grund trifft man in der Emacs-Dokumentation bei Modi, Paketen und so weiter auf den Begriff »Puffer«. Machen Sie sich einfach klar, dass Puffer »eine Kopie der Datei, die gerade im Speicher ist« bedeutet. Oh, es ist noch wichtig, darauf hinzuweisen, dass ein Puffer sich nicht immer auf eine bestimmte Datei auf der Festplatte bezieht. Der Emacs erzeugt oft Puffer aufgrund der Befehle, die Sie eingeben. Diese Puffer können das Ergebnis eines Befehls, eine Auswahlliste etc. beinhalten.
Im Emacs-Jargon werden Sie oft Hinweise auf den sogenannten »Point« (Eingabepunkt) hören oder sehen. Im allgemeinen ist der Point der Cursor. Der eigentliche Unterschied zwischen Point und Cursor ist wahrscheinlich nicht wichtig, wenn man gerade angefangen hat, sich mit dem Emacs zu beschäftigen. Aber wenn Sie neugierig sind, sollten Sie es so betrachten: der Cursor ist die visuelle Darstellung des Points. Der Cursor ist immer »auf« einer bestimmten Buchstabenposition im aktuellen Puffer. Der Point, andererseits, ist im Raum »zwischen den Buchstaben«. Man könnte also sagen, dass wenn der Cursor sich auf dem Buchstaben »h« im Wort »the« befindet, der Point zwischen »t« und »h« ist.
Wie viele moderne Editoren kann der Emacs auf einen Abschnitt des aktuellen Puffers begrenzt Aktionen ausführen: Texteinzug, Rechtschreibprüfung, neu Formatieren, Ausschneiden, Kopieren, Einfügen usw.. Mit der Tastatur oder Maus können Sie einen Textblock hervorheben (oder »markieren«) und dann Aktionen nur in diesem Block oder Textabschnitt ausführen. Beim Emacs wird dieser Textblock »Region« genannt.
Okay, das Folgende wird für alle, die irgendwann einmal mit einem GUI Interface gearbeitet haben, etwas verwirrend sein. Erinnern Sie sich einfach daran, dass der Emacs, lange bevor GUI Interfaces und Window Manager populär waren, entwickelt wurde.
Beim Emacs ist ein »Fenster« ein Teil des Bildschirmes, auf dem ein Puffer dargestellt wird. Wenn der Emacs gerade erst gestartet wurde, hat man ein Fenster auf dem Bildschirm. Einige Emacs-Funktionen (wie die Hilfe und die Dokumentation) öffnen oft vorübergehend zusätzliche Fenster in Ihrem Emacs-Bildschirm.
Emacs-Fenster haben im GUI Sinn nichts mit X Window Fenstern gemein. Man kann zusätzliche X Window Fenster öffnen, um Emacs-Puffer darzustellen, vielleicht um zwei Dateien nebeneinander zu vergleichen. Diese neuen X Window Fenster werden im Emacs-Jargon »Rahmen« (Frames) genannt; lesen Sie dazu weiter.
Beim Emacs ist ein »Rahmen« ein separates X Window Fenster, in dem ein Emacs-Puffer dargestellt wird. Beide sind jedoch Teil der gleichen Emacs-Session. Das Verhalten ähnelt etwas - aber nicht allzu sehr - dem, was passiert, wenn Sie »Alt+N« im Netscape Naviagator drücken.
Dieser Abschnitt behandelt die Grundlagen der Tastaturbedienung des Emacs. Wie bei jedem leistungsfähigen Editor ist alles, was man mit dem Emacs machen kann, nur wenige Tastenkombinationen entfernt.
Wenn Sie ein vi
-Anwender sind, brauchten Sie
wahrscheinlich etwas, um sich an die Vorstellung zu gewöhnen,
»k«-, »j«-, »l«-, »h«-Tasten zu benutzten, um
sich eine Zeile höher, tiefer, einen Buchstaben vor und zurück zu
bewegen. Es wird in der Tat wahrscheinlich einige Stunden oder sogar
Wochen gedauert haben, bevor Sie sich beim Benutzen der
unterschiedlichen Tastenkombinationen, die es beim vi
gibt,
mühelos in einem Dokument bewegen konnten.
Der Emacs ist da nicht anders. Man muss andere Tastenkombinationen und
Befehle lernen. Genau wie beim vi
muss man nur die Grundlagen
beherrschen, um viel Arbeit erledigt zu bekommen. Dann, mit der Zeit,
kann man langsam sein Wissen erweitern und schnellere Wege finden, wie
man Dinge tut.
Wie Sie schnell lernen werden, macht der Emacs viel Gebrauch von
Mehrfach-Tastenkombinationen. Da er kein Modal-Editor wie der vi
ist, muss man nicht darüber nachdenken, ob man sich im »Befehlsmodus«
oder »Editiermodus« befindet, bevor man den Cursor bewegen oder einen
Befehl ausführen kann. Anstatt dessen drückt man die richtige
Tastenkombination und der Emacs tut gewöhnlich, was er soll.
Die Tasten, die man im Emacs am meisten benutzt, werden in der Dokumentation normalerweise mit »C« (für Control, »Ctrl« - auf einer deutschen Tastatur ist »C« durch die Steuerungs-Taste, »Strg«, zu ersetzen) und »M« für (»Meta«) abgekürzt. Während die meisten modernen PC-Tastaturen eine oder mehrere Tasten für »Ctrl« haben, haben wenige eine für »Meta«. Sie müssen in Gedanken entweder »Esc« oder »Alt« durch die »Meta«-Taste ersetzen. Bei den meisten Standardkonfigurationen machen »Esc« und »Alt« im Wesentlichen das Selbe.
Wenn Sie also in irgendeiner Dokumentation, die sich auf den Emacs bezieht, einen Verweis auf »C-x fy sehen, bedeutet dies: drücken Sie »C-x« und dann »f« (»Strg-x f« dann natürlich auf einer deutschen Tastatur). Und wenn Sie einen Hinweis auf etwas wie »M-x shell« sehen, bedeutet dies: drücken Sie »Alt-x« und tippen Sie das Wort »shell«.
Ein sehr nützlicher Befehl für Anfänger ist »M-x apropos« oder »C-h a«. Apropos durchsucht die Emacs Online-Dokumentation nach allen Funktionen und regulären Ausdrücken, die Sie eingeben. Dies ist eine fantastische Möglichkeit, alle Kommandos zu entdecken, die mit Frames zu tun haben. Geben Sie einfach »C-h a« und dann »frame« ein.
Da sie nun wissen, was alle diese tollen Abkürzungen bedeuten, folgt jetzt eine Liste mit den gebräuchlichsten Tastenkombinationen, um sich innerhalb eines Puffers zu bewegen:
Tastenkombination Aktion
---------------------------------------------
C-p eine Zeile hoch
C-n eine Zeile runter
C-f einen Buchstaben vorwärts
C-b einen Buchstaben zurück
C-a Zeilenanfang
C-e Zeilenende
C-v eine Seite runter
M-v eine Seite hoch
M-f ein Wort weiter
M-b ein Wort zurück
M-< Beginn des Puffers
M-> Ende des Puffers
C-g aktuellen Arbeitsvorgang beenden
---------------------------------------------
Und Sie haben es vielleicht erwartet, die Cursor-Tasten (oder
Pfeiltasten) funktionieren genau, wie Sie erwartet haben. Ihre
Backspace
-Taste möglicherweise nicht. Das ist eine andere
Geschichte. :-(
Okay, da Sie nun wissen, wie man sich in einem Puffer bewegt, wie ist es mit dem Öffnen und Speichern von Dateien oder der Suchefunktion? Hier kommen einige grundlegende Befehle.
Bevor wir uns direkt auf diese Befehle stürzen, muss ich kurz darstellen, wie das funktioniert.
Alle »Befehlstasten« im Emacs (die, die »M-x irgendwas« oder »C irgendwas« sind), sind nur Kürzel für Funktionen, die Teil des Emacs sind. Man kann alle diese Funktionen durch Eintippen von »M-x Funktionsnamen« und Drücken der »Return«-Taste aufrufen. Man kann auch die Tastaturkürzel für diese Funktion benutzen (wenn sie eine hat).
Zum Beispiel heißt die Emacs-Funktion, die einen Puffer auf Festplatte speichert, »save-buffer«. Sie ist standardmäßig auch mit »C-x C-s« belegt. Man kann also entweder das Kürzel benutzen, um den aktuellen Puffer zu speichern oder man könnte »M-x save-buffer« eintippen, um das gleiche Resultat zu erzielen.
Die gebräuchlichsten Funktionen haben standardmäßig zusätzliche Tastenkürzel. Einige von ihnen sind unten aufgelistet.
Tastenkürzel Funktion Beschreibung
------------------------------------------------------------------------------------
C-x C-s save-buffer Speichere den aktuellen Puffer auf Festplatte
C-x u undo Mache den letzten Arbeitsvorgang rückgängig
C-x C-f find-file Öffne eine Datei von Festplatte
C-s isearch-forward Inkrementelle Suche vorwärts
C-r isearch-backward Inkrementelle Suche rückwärts
replace-string Suchen & Ersetzen einer Zeichenkette
replace-regexp Suchen & Ersetzen bei regulären Ausdrücken
C-h t help-with-tutorial Benutze das interaktive Emacs-Tutorial
C-h f describe-function Zeige den Hilfetext für eine Funktion an
C-h v describe-variable Zeige den Hilfetext für eine Variable an
C-h x describe-key Zeige an, was eine Tastenfolge macht
C-h a apropos Zeige den Hilfetext für einen (regulären) Ausdruck an
C-h F view-emacs-FAQ Zeige die Emacs-FAQ an
C-h i info Lese die Emacs Dokumentation
C-x r m bookmark-set Setze ein Lesezeichen. Nützlich bei Suchen
C-x r b bookmark-jump Springe zu einem Lesezeichen
------------------------------------------------------------------------------------
Beim Ausprobieren vieler dieser Funktionen werden Sie feststellen,
dass Sie viele zu einer Eingabe auffordern. Das wird immer im Mini-Puffer
erfolgen. Dies ähnelt dem Gebrauch der »:«-Kommandos im
vi
oder den meisten Kommandos, die Sie in Ihrer
bevorzugten Unix Shell benutzen würden.
Der Emacs verfügt buchstäblich über hunderte von eingebauten Funktionen. Die obige Liste ist ein kleines Beispiel all derer, die ich regelmäßig benutze. Für eine vollständigere Auflistung der verfügbaren Funktionen und eine ausführlichere Dokumentation zu denen, die ich oben erwähne, sehen Sie sich die Online-Hilfe an.
Wie viele populäre Unix Shells (bash
, csh
,
tcsh
usw.) kann der Emacs
Befehle über die »Tab«-Taste ergänzen. Es ist sogar so, dass die
Befehlsergänzung in der bash
, der im Emacs nachgebildet wurde. Wenn Sie
dieses Leistungsmerkmal in der bash
benutzen, werden Sie sich also ganz
zu Hause fühlen.
Versuchen Sie zum Beispiel »M-x search« und drücken dann »Tab«. Der Emacs wird einen Bindestrich anfügen, um anzuzeigen, dass es diverse Vervollständigungsmöglichkeiten gibt, die aber alle einen Bindestrich als nächsten Buchstaben haben. Wenn die »Tab«-Taste ein weiteres Mal betätigt wird, wird Emacs Ihnen eine Liste aller Möglichkeiten anzeigen, aus denen Sie auswählen können. Sie werden feststellen, dass er dies in einem »neuen Fenster« tut. Er unterteilt Ihr Display zeitweise in zwei Fenster: eines, das den Puffer enthält, den Sie gerade editieren und ein weiteres, das die Liste aller möglichen Ergänzungen für »search« enthält. Sie können »C-g« tippen, um den Selektionsprozess zu verlassen und das neue Fenster zu schließen.
Der Emacs hat ein Online-Tutorial, das Sie durch die grundlegenden Editiereigenschaften und -funktionen führt, die jeder kennen sollte. Es erklärt auch, wie die anderen Hilfefunktionen im Emacs genutzt werden können.
Ich empfehle dringend, dass Sie etwas Zeit darauf verwenden, das Tutorial durchzugehen, wenn Sie planen, sich ernsthaft mit dem Emacs zu beschäftigen. Wie in der Tabelle oben dargestellt wurde, können Sie das Tutorial durch »C-h t« aufrufen. Das Tutorial ist selbsterklärend und zielt auf Leute ab, die gerade mit dem Emacs anfangen.
Wenn Sie den Emacs im X laufen haben, werden Sie sehen, dass das Menue ganz rechts auf der Menuezeile »Help« heißt. Wenn Sie das Hilfemenue erforschen, beachten Sie, dass einige Unterpunkte Tastenkürzel haben und diese genau in dem Menue aufgelistet werden.
Und um schließlich das mit dem Emacs verfügbare Volumen an Dokumentation einsehen zu können, sollten Sie »M-x info« oder »C-h i« ausprobieren; dadurch wird Info aufgerufen, der Emacs Dokumentationsbrowser.