Der Unix-Editor vi arbeitet mit mehreren Modi. Die wichtigsten sind Kommandomodus und Eingabemodus. Im Kommandomodus werden Tasten als Befehle interpretiert, im Eingabemodus werden sie in den Text geschrieben. Der Wechsel von Eingabe- in den Kommandomodus erfolgt durch die Esc-Taste. Beim Aufruf des vi befinden Sie sich immer im Kommandomodus.
Wichtige Linux vi Befehle im Kommandomodus sind:
Befehle zum Wechsel in den Eingabemodus
i
Einfügen vor der aktuellen Cursorposition
I
Einfügen am Anfang der aktuellen Zeile
a
Einfügen nach der aktuellen Cursorposition
A
Einfügen am Ende der aktuellen Zeile
o
Einfügen nach der aktuellen Zeile
O
Einfügen vor der aktuellen Zeile
R
Überschreiben des Textes
c
Ersetzen eines Wortes (Objektes)
C
Ersetzen der aktuellen Zeile
vi Befehle zum Löschen von Text im Kommandomodus
x
löscht das Zeichen, auf dem der Cursor steht
dd
löscht die ganze Zeile
yy
ließt eine Zeile in den Löschpuffer ohne sie zu löschen
dw
löscht von der Cursorposition bis zum Wortende
p
fügt gelöschte Zeile nach der aktuellen Zeile wieder ein
P
fügt gelöschte Zeile vor der aktuellen Zeile wieder ein.
u
UNDO letzte Aktion
r
überschreibt nur das Zeichen, auf dem der Cursor steht
Befehle zum Bewegen des Cursors im Kommandomodus
w
Bewegt Cursor auf Beginn des nächsten Wortes
b
Bewegt Cursor auf Beginn des aktuellen Wortes
0
Bewegt Cursor auf Beginn der aktuellen Zeile
$
Bewegt Cursor auf das Ende der aktuellen Zeile
Strg-F
Entspricht PgDn
Strg-B
Entspricht PgUp
G
Bewegt Cursor zum Dateiende
nG
Bewegt Cursor in die nte Zeile
/Suchmuster
Bewegt Cursor zum ersten Auftreten des Musters
?Suchmuster
Rückwärtssuche
~
Verwandelt Klein– in Großbuchstaben und umgekehrt
Befehle zum Beenden des Editors
ZZ
Beenden mit sichern (nur gültig wenn Dateiname bekannt