23.5 vi – Der klassische Editor
Es gibt zwei klassische Editoren, die jeweils eine lange Tradition unter Unix haben. Dies sind der emacs und der vi. Sie sollten mindestens einen »gro"sen« Editor beherrschen, da Sie diesen immer dann brauchen, wenn Sie keine grafische Oberfl"ache zur Verfügung haben.
Ich möchte Ihnen im Folgenden den Editor vi vorstellen und hoffentlich näherbringen. vi ist auf nahezu jedem UNIX-System vorinstalliert, lässt sich ohne Cursor-Tasten bedienen und ist sehr schnell. vi gibt es auch mit grafischer Oberfläche (vim und gvim). Bei unseren weiteren Betrachtungen lassen wir diese Varianten aber au"sen vor. Starten lässt sich der Editor mit dem Befehl vi. Der Befehl vi test.txt öffnet die Datei test.txt im aktuellen Verzeichnis oder legt sie an, falls sie noch nicht existiert.
Abbildung 23.3 Der vi-Editor sieht nur auf den ersten Blick unkomfortabel aus.
Kommando | Bedeutung |
i | einfügen links vom Cursor |
I | einfügen am Zeilenanfang |
a | einfügen rechts vom Cursor |
A | einfügen am Zeilenende |
o | neue Zeile hinter der aktuellen einfügen |
O | neue Zeile vor der aktuellen einfügen |
rc | ein Zeichen unter dem Cursor durch c ersetzen |
R | überschreiben ab Cursor-Position |
sText | ein Zeichen durch Text ersetzen |
SText | eine ganze Zeile durch Text ersetzen |
cwText | ein Wort durch Text ersetzen |
cc | überschreiben bis zur nächsten Zeilengrenze |
dd | aktuelle Zeile löschen |
4dd | ab aktueller Zeile vier Zeilen löschen |
:q | verlassen, ohne zu speichern |
:q! | verlassen, ohne zu speichern, auch bei modifiziertem Dokument |
:wq | Puffer schreiben und verlassen |
:wn | Puffer schreiben und das nächste Dokument laden |
yy | die aktuelle Zeile in einen Puffer schreiben |
ny | n+1 Zeilen in einen Puffer kopieren |
yw | ein Wort rechts vom Cursor in den Puffer kopieren |
yb | ein Wort links vom Cursor in den Puffer kopieren |
muster | nach muster vorwärts im Text suchen |
/ | die Suche vorwärts wiederholen |
?muster | nach muster rückwärts im Text suchen |
? | die Suche rückwärts wiederholen |
:s/alt/neu | alt suchen und durch neu ersetzen (nur das erste Auftreten in aktueller Zeile) |
:s/alt/neu/g | alle alt suchen und durch neu in aktueller Zeile ersetzen |
:1,$s/alt/neu | ersetzen im gesamten Dokument |
w | Cursor um ein Wort vorwärts bewegen |
3w | Cursor um drei Wörter vorwärts bewegen |
b | Cursor um ein Wort rückwärts bewegen |
$ | mit dem Cursor zum Zeilenende springen |
0 | mit dem Cursor zum Zeilenanfang springen |
G | mit dem Cursor zur letzten Zeile springen |
9G | mit dem Cursor zur Zeile 9 springen |
:%s/alt/neu | ersetzen im gesamten Dokument |
Sie können auch die Cursor-Tasten verwenden sowie die Tasten , und . Das Kopieren von Text erfolgt nach einem einfachen Schema:
- Text in einen Puffer kopieren
- Text aus Puffer einfügen
Im richtigen Modus arbeiten
Der Editor vi besitzt mehrere Modi, zwischen denen Sie wechseln müssen, um zum Beispiel ein Dokument zu schreiben. Diese Trennung verschiedener Ebenen hat u. a. sicherheitstechnische Gründe:
- Befehlsmodus
Der Editor startet im Befehlsmodus. Hier können Sie Befehle eingeben, um einen Text zu bearbeiten. Es ist Ihnen hier allerdings nicht möglich, Text einzugeben. - Eingabemodus
Wenn Sie einen Text schreiben möchten, dann müssen Sie in den Eingabemodus wechseln. Dies geschieht durch Drücken der Taste . - Kommandomodus
Mit der Taste wechseln Sie in den Kommandomodus. Vor jedem Kommando muss ein Doppelpunkt gesetzt werden, zum Beispiel zum Speichern :w oder zum Suchen eines Strings :/SUCHSTRING. Allerdings können Sie in diesem Modus keine Eingaben und Veränderungen am eigentlichen Text vornehmen. Hierzu müssen Sie durch Drücken von wieder in den Eingabemodus wechseln.
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.