Beschreibung
VI ("vi" für "visual"; ausgesprochen [ wi: aI ], aber nicht [ vi: ]) ist ein Editor im Terminal, der von Bill Joy 1976 für eine BSD-Version geschrieben wurde. Der Name leitet sich aus "visual interface" ab, was den Fortschritt zu seinem Vorgänger ed verdeutlicht.
VI wurde schnell zum Standard-Unix-Editor, was er auch seiner Schlank- und Kompaktheit zu verdanken hat. Er wird heutzutage immer noch als Standardeditor bei fast jeder Linux-Distribution, bei der BSD-Familie und Mac OS X mitgeliefert. Selbst auf einer Rettungsdiskette findet er noch Platz. Im Laufe der Zeit sind auch einige Klone entstande, wie vim, elvis und nvi.
1991 benutzten ungefähr die Hälfte aller Teilnehmer einer Usenet Umfrage den VI. Auch heutzutage ist der VI zumindest in der Unixwelt noch sehr verbreitet, selbst Emacs Benutzer greifen ab und zu auf ihn zurück, wenn es mal schnell gehen soll. Außerdem kann man mit diesem Editor in Kombination mit rsh oder ssh (früher mit Telnet) im Netzwerk sehr gut auf anderen Rechnern arbeiten.
Philosophie
Man sollte niemals auf eine Diskussion über VI und Emacs einlassen. Sowas führt zu einem regelrechten Glaubenskrieg zwischen beiden Benutzergruppen.
Modi
Der VI unterscheidet grundlegend zwei Modi:
- Den Kommandomodus. Hier wird die Tastatureingabe zum Kopieren, Einsetzen, Löschen, etc. benutzt.
- Den Eingabemodus. Erklärt sich wohl von selbst :)
Die wichtigsten VI-Kommandos
vi filename
- Öffnet oder erzeugt eine neue Datei
ESC
- Wechselt in den Befehlsmodus
:
- Wechselt vom Befehls- in den Komplexbefehlsmodus
Komplexbefehlsmodus
q!
- VI beenden ohne zu speichern
wq
oderx
- Speichern und beenden
w <NAME>
- Unter <NAME> speichern
e <NAME>
- Datei <NAME> zum Editieren laden
Befehlsmodus
w
- Wort vorwärts
b
- Wort zurück
/regex
- Suche vorwärts nach regex
?regex
- Suche rückwärts
n
- Wiederhole Suche
N
- Wiederhole Suche in anderer Richtung
xp
- Vertauscht das Zeichen an der Cursorposition mit dem darauffolgenden
x, X
- Zeichen löschen (vorwärts – rückwärts)
dd
- Zeile löschen
dw
- Bis zum Wortende löschen
nD
- Bis zum Zeilenende löschen
J
- Nächste Zeile an die aktuelle anhängen
u
- Befehl rückgängig machen
.
- Letzten Befehl wiederholen
i
- Wechselt in den Einfügemodus
A
- Springt zum Zeilenende und wechselt in den Einfügemodus
ZZ
- Speichern und beenden
Verweise
- vi-Manpage
- Vim-Homepage – Vim ist eine Alternative zu VI
- Kategorien
- Softwareentwicklung, Terminal, Textprozessor, Textverarbeitung, Unix