Kapitel 3. Texte editieren: Emacs und VI

Inhaltsverzeichnis
3.1. Emacs
3.1.1. Schnelleinführung
3.1.2. Der Einstieg
3.1.3. Mit Puffern umgehen
3.1.4. Kopieren, Ausschneiden, Einfügen, Suchen
3.1.5. Emacs verlassen
3.2. VI: Der Urahne
3.2.1. Einfügemodus, Kommandomodus, ex Modus...
3.2.2. Das Arbeiten mit Puffern
3.2.3. Textedition und Bewegungskommandos
3.2.4. Ausschneiden, Kopieren, Einfügen
3.2.5. VI beenden
3.3. Zum Abschluss...

Wie bereits in der Einleitung festgestellt, ist das Editieren von Texten[1] ein fundamentales Wesensmerkmal eines Unix-Systems. Wir werden Ihnen hier zwei Editoren vorstellen, deren Bedienung zwar anfangs etwas Übung erfordert, die dann aber mächtige Werkzeuge darstellen.

3.1. Emacs

Emacs ist vermutlich der mächtigste zur Zeit verfügbare Texteditor. Er kann wirklich alles und ist dank der eingebauten Programmiersprache Lisp zudem nahezu unbeschränkt erweiterbar. Mit Emacs können Sie sich im Web bewegen, Ihre Post lesen, an Diskussionsforen teilnehmen, Kaffee kochen, usw. Am Ende dieses Kapitels werden Sie zumindest in der Lage sein, Emacs zu starten, eine oder mehrere Dateien zu editieren, sie zu sichern und Emacs wieder zu verlassen. Irgendwo muss man ja schließlich anfangen...

3.1.1. Schnelleinführung

Emacs zu starten ist relativ simpel:

emacs [Datei] [Datei...]

Emacs öffnet bei einem Aufruf jede als Argument angebene Datei in einem Puffer, wobei maximal zwei Puffer gleichzeitig sichtbar sein können. Wird Emacs ohne Datei-Argument geöffnet, präsentiert er den Puffer *scratch*. Unter X haben Sie auch Menüs zur Verfügung, doch wir werden uns auf die Arbeit mit der Tastatur konzentrieren. Strg-x steht für die Sequenz Strg+x, Alt-s für die Sequenz Alt+s.

3.1.2. Der Einstieg

Zeit für etwas Handfestes. Öffnen Sie nun die zwei Dateien, Datei1 und Datei2. Wenn diese Dateien noch nicht existieren, werden sie angelegt, sobald Sie etwas hineinschreiben.

$ emacs Datei1 Datei2

Sie erhalten ein Fenster wie in Abbildung 3-1.

Abbildung 3-1. Emacs, zwei Dateien auf einmal editieren

Wie Sie sehen, wurden zwei Puffer bereitgestellt, einer pro Datei. Ein dritter befindet sich am Boden des Schirms (dort steht (New file), engl. für ,,Neue Datei``), der Mini-Puffer. Von selbst können Sie nicht in diesen Puffer wechseln, vielmehr benutzt Emacs diesen Puffer zur Interaktion mit Ihnen. Um die Puffer zu wechseln, tippen Sie Strg-x o. Schreiben Sie Ihren Text wie in jedem anderen Editor auch, Sie können diesen mittels der Entf- oder der Rücktaste wieder löschen.

Um sich innerhalb eines Puffers zu bewegen, können Sie die Pfeiltas­ten benutzen, aber es gibt auch andere Kombinationen: Strg-a geht zum Beginn der Zeile, Strg-e zu ihrem Ende, Alt-< springt an den Anfang des Puffers und Alt-> an sein Ende. Es gibt noch eine Menge anderer Kombinationen, sogar für jede der Pfeiltasten[2].

Wenn Sie Änderungen an einer Datei speichern wollen, tippen Sie Strg-x Strg-s. Um den Inhalt des Puffers in einer anderen Datei zu sichern, tippen Sie Strg-x Strg-w und Emacs fragt Sie nach dem Namen der Datei, in der Sie den Inhalt des Puffers speichern möchten. Sie können dabei die Komplettierungs-Funktion (TAB) verwenden.

3.1.3. Mit Puffern umgehen

Wenn Sie möchten, können Sie sich lediglich einen Puffer anzeigen lassen. Es gibt zwei Möglichkeiten, dies zu erreichen:

  • wenn Sie sich in dem Puffer befinden, den Sie verstecken wollen, tippen Sie Strg-x 0;

  • befinden Sie sich in dem Puffer, den Sie in der Ansicht behalten wollen, tippen Sie Strg-x 1.

Es gibt zwei Möglichkeiten, einen versteckten Puffer wieder anzuzeigen:

  • Tippen Sie Strg-x b und geben Sie den Puffernamen an, oder

  • tippen Sie Strg-x Strg-b. Dies öffnet einen neuen Puffer, namens *Buffer List*, in dem Sie sich mittels der Sequenz Strg-x o bewegen können. Wählen Sie den gewünschten Puffer mit der Eingabe-Taste aus oder schreiben Sie seinen Namen in den Mini-Puffer. Der Puffer *Buffer List* schließt sich nach Ihrer Auswahl wieder.

Sind Sie mit einer Datei fertig und wollen ihren Puffer schließen, tippen Sie Strg-x k. Emacs fragt Sie dann, welchen Puffer Sie nicht mehr benötigen. Voreingestellt ist der Puffer, in dem Sie sich befinden, ansonsten geben Sie den Namen des Puffers ein oder drücken Sie TAB: Emacs wird dann einen weiteren Puffer (*Completions*) mit einer Auswahl an Möglichkeiten öffnen. Bestätigen Sie mit der Eingabe-Taste.

Sie können genauso zwei Puffer auf dem Schirm wieder herstellen, dazu tippen Sie Strg-x 2. Der neue Puffer wird eine Kopie des aktuellen Puffers sein (was Ihnen beispielsweise ermöglicht, umfangreiche Dateien an verschiedenen Stellen gleichzeitig zu bearbeiten). Folgen Sie einfach der beschriebenen Prozedur, um in einen anderen Puffer zu wechseln.

Mittels Strg-x Strg-f können Sie jederzeit andere Dateien öffnen. Emacs wird Sie dann nach dem Dateinamen fragen, wobei der Dateiname auch hier wieder automatisch komplettiert wird.

3.1.4. Kopieren, Ausschneiden, Einfügen, Suchen

Angenommen, Sie befinden sich in der Situation, wie sie Abbildung 3-2 darstellt.

Abbildung 3-2. Emacs, vor dem Kopieren eines Textblocks

Bevor es ans Kopieren geht, müssen Sie den betreffenden Text zuerst markieren. Unter X können Sie dazu die Maus verwenden (der markierte Bereich wird automatisch in den Zwischenspeicher geschrieben), doch Sie sind ja im Textmodus :-) Hier wollen Sie einen ganzen Satz kopieren: dazu müssen Sie zuerst eine Marke am Beginn des zu kopierenden Bereiches setzen. Angenommen, der Cursor befindet sich an der gleichen Position wie oben gezeigt, dann tippen Sie zuerst Strg-Leertaste (STRG + die Leertaste): Emacs zeigt dann die Nachricht Mark set im Mini-Puffer an. Bewegen Sie sich nun an den Anfang der Zeile mit Strg-a. Damit selektieren Sie den gesamten Bereich zwischen der Marke und der gegenwärtigen Cursor-Position, hier also die gesamte Zeile. Nun tippen Sie Alt-w (kopieren) oder Strg-w (ausschneiden). Beim Kopieren wird Emacs kurz die Marken-Position anzeigen, um den ausgewählten Bereich nochmals zu verdeutlichen.

Abbildung 3-3. Emacs, nach dem Kopieren des Textblocks

Gehen Sie jetzt zu dem Puffer, in den Sie den kopierten Text einfügen möchten und tippen Sie Strg-y. Das Ganze sollte jetzt so wie in Abbildung 3-3 aussehen.

Was Sie getan haben, war Text in den sog. ,,kill ring`` des Emacs zu kopieren. Dieser ,,kill ring`` enthält alle seit Programmstart kopierten oder ausgeschnittenen Textbereiche. Jeder Bereich, der gerade kopiert oder ausgeschnitten wurde, wird an den Anfang des Rings gesetzt. Die Sequenz Strg-y fügt den Bereich lediglich am Anfang ein. Wenn Sie auf andere Bereiche zugreifen wollen, drücken Sie Strg-y, gefolgt von Alt-y bis Sie den gewünschten Text vor sich haben.

Um nach Text zu suchen, gehen Sie in den gewünschten Puffer und tippen Sie Strg-s, Emacs fragt Sie dann wonach er suchen soll. Um eine Suche nach der selben Zeichenfolge zu starten, tippen Sie ein weiteres Mal Strg-s. Sollte Emacs das Ende des Puffers erreichen, können Sie mittels der selben Sequenz die Suche am Beginn des Puffers fortsetzen. Das Drücken der Eingabe-Taste beendet die Suche.

Für Suchen und Ersetzen drücken Sie Alt-%. Emacs fragt Sie nach dem Suchstring und dem Ersatzstring. Das Ersetzen erfolgt nach Rückfrage.

 

Zum Schluss noch eine recht nützliche Funktion: Strg-x u macht die letzte Anweisung rückgängig. Sie können soviele Anweisungen zurück nehmen, wie Sie wollen.

3.1.5. Emacs verlassen

Die Tastenkombination dafür heißt Strg-x Strg-c. Emacs fragt Sie dann, ob Sie bisher ungespeicherte Änderungen in den Puffern speichern wollen und beendet sich anschließend.

Fußnoten

[1]

,,Texte editieren`` besteht darin, den Inhalt von Dateien zu ändern. Dieser Inhalt besteht zum Großteil aus Buchstaben, Zahlen und Satzzeichen; die Dateien können elektronische Nachrichten, Quellcode, Dokumente oder Konfigurationsdateien sein.

[2]

Emacs, wie auch VI wurden entworfen, um auf möglichst vielen Plattformen zu laufen. Auch heute noch gibt es Terminals, die nicht über Pfeiltasten verfügen.


Tux on Star from MandrakeSoft Linux ist ein eingetragenes Warenzeichen von Linus Torvalds. Alle anderen Warenzeichen und Copyrights sind das Eigentum ihrer Inhaber.
Sofern nichts anderes Angaben ist, unterliegen die Inhalte der Seiten sowie alle Bilder dem Copyright von MandrakeSoft S.A. und MandrakeSoft Inc. 2000.
http://www.linux-mandrake.com/