VI und VIM
Visual Editor
Info
Der vi ist ein Standard seit vielen vielen Jahren. Und jeder, der sich das erste mal mit ihm auseinandersetzt, wird sich das gleiche denken, wie ich: welches kranke Gehirn hat sich denn den ausgedacht? Aber je mehr man mit ihm arbeitet, um so mehr erkennt man seine Vorzüge, gerade in dieser Umgebung. Zweifellos einer seiner bestechendsten vorteile ist der, daß er sofort da ist. Geben Sie einfach mal
vi
ein und sehen sie selbst in welcher Geschwindigkeit er da ist. Was dieses Programm so ungeheuer anti-intuitiv macht, ist die Tatsache, daß man unter Windows andere Tastaturkürzel gewohnt ist und, daß er über mehrere (Insgesamt drei) verschiedene Zustände verfügt, die sich auch noch mit gleichen Buchstabenkombinationen auszeichnen.
Vi Befehle
Die drei Vim - Modi
- Normaler Modus
- Editier-Modus
- Kommando-Modus
Hä? Ja richtig. Das klingt ein wenig verwirrend. Aber sehen wir es uns doch mal im einzelnen an.
Der normale Modus ist der, in dem man sich befindet, wenn vim gerade gestartet wurde. In diesem Modus kann man noch nicht viel tun, denn er ist in erster Linie zur Navigation gedacht.
Die wichtigsten Befehle im Normalen Modus
Cursor-up/down/left/right
- Damit meine ich das bewegen der Crsortasten, die dann auch, wie erwartet den Cursor in die entsprechende Richtung bewegen
+
- Bewegt Cursor eine Zeile nach unten (zum ersten Buchstaben)
-
- Bewegt Cursor eine Zeile nach oben(zum ersten Buchstaben)
0
- Springt zum Zeilenanfang
$
- Springt zum Zeilenende
w
- Springt zum Anfang des naechsten Wortes
e
- Springt zum Wortende
dd
- Löscht eine Zeile
[Zahl]dd
- Löscht [Zahl] Zeilen
x
- Löscht ein Zeichen
[Zahl]x
- Löscht [Zahl] Zeichen
[Zahl]G
- geht zur Zeile [Zahl]
yy
- Kopiert eine Zeile (das gleiche wie Ctrl-c=copy unter Windows)
yw
- Kopiert ein Wort
[Zahl] yw
- Kopiert [Zahl] Wörter
p
- Fügt den kopierten Inhalt wieder an der aktuellen Cursorposition in den Text ein
i
- Wechsel in den Editiermodus: Einfügen von Text (i=insert)
a
- Wechsel in den Eingbemodus - anhängen (a=append). Damit fügt man Zeichen ein Zeichen nach der aktuellen Cursorposition ein
Der Editier-Modus
In den Editiermodus gelangt man aus dem normalen Modus mit a | i Nun kann man die Datei eingeben. Die Entf-taste löscht das nächste Zeichen, die Backspace-Taste löscht das vorhergehende. Der Rest geht in diesem modus wie mit einer Schreibmaschine. Um aus diesem Modus wieder in den Normalen Modus zu gelangen, muß man die Esc-Taste betätigen.
Der Kommando - Modus
In den Kommando-Modus gelangt man nur aus dem normalen Modus über eines der Zeichen /,? oder :
/
- sucht nach einer Zeichenkette vorwärts. Erwartet als nächstes die eingabe der Zeichenkette mit einem abschließendem Return
?
- Das gleiche wie /, nur rückwärts
:
- Dieser Befehl erwartet als nächstes einen weiteren Befehl. Mit : gelangt man in den Kommandozeilen-Modus. Einige der darauf möglichen Befehle sind:
- q - (Also eingabe au dem normalen Modus :q. Damit verläßt man die Datei. der vi wrid geschlossen. Wenn sich die Datei geändert hat, dann wird man aufgefordert diese zu speichern, oder mit q! ohne zu speichern das Programm zu verlassen
- wq - damit wird die Datei erst geschrieben und dann das Programm verlassen (write - quit)
- w - Schreiben der Datei
e <Dateiname> - Öffnen der Datei Dateiname. Existiert die Datei noch nicht wird sie neu angelegt
Fast alle Befehle lassen sich, wie oben beschrieben mit einem Quantifier ([Zahl]) als Präfix benutzen.
Das sind bei weitem noch nicht alle Kommandos, die der vi ersteht. Um sich einen Überblick zu verschaffen, was dieser kleine und doch so mächtige Editor alles beherrscht tippe man aus dem normalen Modus kommend am besten :h ein. Man kommt von dort in ein Hilfesystem, das mit Links verbunden die Hilfedateien zur Verfügung stellt. Aber natürlich können die Links nicht einfach mit der Return-Taste angewählt werden. Um einem Link zu folgen tippt man Ctrl-] und wenn man zurückgehen will Ctrl-O oder Ctrl-T. dort findet man auch Hinweise darauf, wie man ein Vi-Tutorial durchläuft.