Vi (ausgesprochen [ wi: aI ], aber nicht [ vi: ] und auch nicht "sechs" oder "six" wie die römische Zahl VI) ist ein von Bill Joy für eine frühe BSD Version geschriebener Texteditor. Der Name stammt von `Visual Interface', weil sein Vorgänger ex ein einfacher Zeileneditor war. Vi wurde schnell zum de facto Standardeditor unter Unix (auch für Hacker), jedenfalls bis zum Aufstieg von Emacs um 1984 herum. Aufgrund seiner Schlankheit startet er schneller und benötigt weniger Speicherplatz als Emacs. Sogar auf einer Rettungsdiskette hat Vi auch heute noch Platz, so dass entweder Vi selber oder einer seiner Klone Bestandteil fast aller Unix-Installationen ist.
Neueinsteiger brauchen für Vi eine hohe Frustrationstoleranz, da es sich um einen Editor mit zwei grundsätzlich unterschiedlichen Arbeitsmodi handelt. Im Kommandomodus wirken die allermeisten Tastendrücke wie Editierkommandos (Cursorbewegung, Text löschen usw.) Im Inputmodus hingegen kann der Benutzer, wie eigentlich erwartet Text eintippen; die Escape-Taste bewirkt ein Zurückspringen in den Kommandomodus. Um wieder in den Inputmodus zu gelangen, genügt die 'i'-Taste. Frühe Versionen gaben dem Benutzer kein Indiz in welchem Modus sie sich gerade befanden, so dass es auch heute noch typisch für den Vi-Benutzer ist, immer vorsichtshalber noch einmal ESC zu drücken um ganz sicher zu gehen, dass sie wirklich im Kommandomodus sind (falls das vorher schon der Fall war, wird Vi einfach nur piepsen). Aktuelle Versionen von Vi deuten ihren augenblicklichen Modus auf der Statuszeile oder graphisch an. Ein großer Vorteil des Kommandomodus ist, dass mehrere Kommandos nacheinander ohne gleichzeitiges Betätigen der Alt Ctrl oder sonstiger Modifier-Tasten abgesetzt werden können. Für den geübten Benutzer bedeutet das eine erhebliche Steigerung der Arbeitsgeschwindigkeit.
Auch heutzutage ist Vi zumindest in der Unixwelt noch sehr verbreitet (ungefähr die Hälfte aller Stimmen in einer Usenet Umfrage von 1991 gingen an ihn), selbst Emacs Benutzer greifen ab und zu auf ihn zurück, wenn es mal schnell gehen soll.
Die wichtigsten Vi-Kommandos
vi filename | öffnet oder erzeugt ein neues file |
<esc>:q! | beenden ohne zu speichern |
<esc>:wq oder <esc>ZZ | speichern und beenden |
<esc> | schaltet in den Befehlsmodus |
i,I,a,A,o,O | schalten in den Eingabemodus |
Befehlsmodus: | |
w | wort vorwärts |
b | wort zurück |
x, X | löschen (vorwärts - rückwärts) |
nx | lösche n Buchstaben |
ndd | lösche n Zeilen |
nD | lösche bis zum Zeilenende |
/regex | suche vorwärts nach regex |
?regex | suche rückwärts |
n | wiederhole Suche |
Siehe auch:
- VIM - "Vi IMproved" - ein deutlicher leistungsfähigerer und benutzerfreundlicherer Klon, mit der Homepage unter www.vim.org.