VI(m) Kurzreferenz

vi-Kurzreferenz

Der Editor vi (‚vi‘ steht für ‚visual‘) ist ein bildschirmorientierter Editor, d. h. der Text ist in seiner aktuellen Version auf dem Bildschirm zu sehen. Dieser Editor ist auf jedem Linux / Unix System vorhanden. Es werden hier nur die wichtigsten Kommandos für Einsteiger aufgeführt. Aufruf:

vi Dateiname

Ist die Datei vorhanden, wird sie in den Editorpuffer geladen, andernfalls wird sie neu angelegt. Nach dem Aufruf des vi befindet sich der Benutzer im Kommandomodus. Die Arbeit spielt sich in zwei Ebenen ab.

Kommandomodus:

  • Freies Positionieren des Cursors innerhalb des Textes, Umsetzen von Textblöcken, Schreiben und Lesen von Dateien, Löschen von Textblöcken und Aufruf von UNIX-Kommandos.

Eingabemodus:

  • Einfügen von Text oder Überschreiben vorhandener Textpassagen.

Das Umschalten zwischen den Modi erfolgt mit der ESC-Taste. Die Handhabung des Kommandomodus des vi macht die Bedienung für den Anfänger etwas ungewohnt. Die Cursorpositionierung erfolgt mit verschiedenen Tasten, für die Eingabe von Dateibefehlen oder anderen Funktionen (z. B. Suchen/Ersetzen) ist die Eingabe eines Doppelpunktes nötig. Man befindet sich dann in ex-Modus, der ähnliche Eigenschaften hat, wie der (–> ed).
Bleiben wir gleich bei den ex-Befehlen. Nach der Eingabe des ‚:‘ springt der Cursor in die letzte Zeile und erlaubt die Eingabe eines ex-Befehls, der mit der Return-Taste abgeschlossen wird. Es sind nach dem Doppelpunkt alle ed-Befehle möglich. Für den Einstieg genügen:

wq: Text auf die Platte schreiben und vi beenden
ZZ Text auf die Platte schreiben und vi beenden.
:w Text auf Platte schreiben.
:w Datei Text auf die angegebenen Datei schreiben.
😡 wie :wq.
:q Abbrechen, ohne den Text auf Platte zu schreiben.
:q! Abbrechen, ohne den Text auf Platte zu schreiben.
:r Datei Text aus der angegebenen Datei nach der momentanen Zeile einfügen.
:e Datei Neue Datei bearbeiten
  • Umschalten in den Eingabemodus:
a (append) Eingabe rechts vom Cursor
A Eingabe am Zeilenende
i (insert) Engabe links vom Cursor
I Eingaben am Zeilenanfang
o Eingabe in der folgenden Zeile, Spalte 1.
 O Eingabe in der vorhergehenden Zeile, Spalte 1.

Der Eingabemodus wird durch Drücken der ESC-Taste verlassen. Wenn es die Hardware ermöglicht, ändert sich die Form des Cursors beim Wechsel zwischen Eingabe- und Kommandomodus.

  • Blättern auf dem Bildschirm können Sie mit folgenden Tastenkombinationen:
CTRL-F Eine Bildschirmseite vorwärts
CTRL-B Eine Bildschirmseite rückwärts
CTRL-D Eine halbe Bildschirmseite vorwärts
CTRL-L Bildschirm neu aufbauen (wenn z.B. eine Nachricht kam)
  • Cursorpositionierung (im Kommandomodus): Normalerweise ist der vi an die Pfeiltasten der Tastatur richtig angepaßt. Daneben gibt es noch folgende Möglichkeiten (Auswahl):
h Zeichen links (auch Backspace)
l Zeichen rechts (auch blank)
k Spalte höher
j Spalte tiefer
b Wortanfang
e Wortende
w Anfang nächstes Wort
H Anfang erste Zeile des Bildschirms
L Anfang letzten Zeile des Bildschirms
0 (Null) Zeilenanfang
$ Zeilenende
RETURN nächste Zeile
nG (Go) Gehe zu Zeile n. n ist eine Zeilennummer. Fehlt die Zahl, wird zur lezten Zeile der Datei gesprungen.
  • Löschen von Text (im Kommandomodus) und Text ändern. Die Änderungskommandos wechseln automatisch in den Eingabemodus, der mit der ESC-Taste verlassen werden muß.
x Zeichen unter dem Cursor löschen
X Zeichen vor dem Cursor löschen
dw ab Cursorpos. bis Wortende löschen
db ab Cursorpos. bis Wortanfang löschen
dd ganze Zeile löschen
r Zeichen ersetzen (kein Abschluß mit ESC)
R Mehrere Zeichen ersetzen
s Ein Zeichen ersetzen und zusätzliche Zeichen anschließend einfügen
cc Gesamte Zeile ändern
cw Wort ändern
  • Suchen nach Zeichen oder Strings. Außer ‚fx‘ und ‚Fx‘ müssen die Suchkommandos mit der Return-Taste abgeschlossen werden.
fx Zeichen ‚x‘ in der momentanen Zeile suchen (vorwärts)
Fx Zeichen ‚x‘ in der momentanen Zeile suchen (rückwärts)
/str String ’str‘ vorwärts in der Datei suchen
?str String ’str‘ rückwärts in der Datei suchen
// Letzten Suchbefehl wiederholen (vorwärts)
?? Letzten Suchbefehl wiederholen (rückwärts)
  • Sonstige Kommandos:
J Zeilen verbinden (nächste Zeile anhängen)
u Letzten Befehl rückgängig machen
U Aktuelle Zeile wiederherstellen
. Letztes Kommando wiederholen