vi

vi beim Bearbeiten eines Hallo-Welt-Programms in C

vi („vi“ für „visual“), ausgesprochen [viːˈaɪ] oder [vaɪ],[1] im deutschen Sprachraum gelegentlich auch [viː], jedoch nicht „sechs“ oder „six“ (wie die römische Zahl VI) ist ein freier Texteditor. Er wurde 1976 von Bill Joy auf einem ADM-3A-Computerterminal für eine frühe BSD-Version geschrieben und von POSIX standardisiert. Der Name stammt vom Befehl visual des Editors ex. Mit diesem Befehl konnte man den Zeileneditor in einen visuellen Modus umschalten.

Einordnung

Bis Anfang der 1970er Jahre wurden hauptsächlich zeilenorientierte Editoren benutzt, wobei ein weit verbreiteter ed war. Joy baute auf diesem auf, zunächst ebenfalls mit einem Zeileneditor, ex. Darauf baute später wiederum der Editor vi auf. vi wurde schnell zum De-facto-Standardeditor unter Unix.

1991 benutzten ungefähr die Hälfte aller Teilnehmer einer Usenet-Umfrage den vi. Auch heutzutage ist die Verwendung von vi bzw. dessen Erweiterungen zumindest in der Unix- und Linuxwelt sehr verbreitet. Außerdem kann man mit diesem Editor in Kombination mit ssh (früher mit Telnet oder rsh) im Netzwerk auf anderen Rechnern arbeiten.

Aufgrund ihrer relativen Ressourcenfreundlichkeit starten vi bzw. fast alle seine Klone schneller und benötigen deutlich weniger Speicherplatz als etwa Emacs. Auf einer „Rettungsdiskette“ hat vi auch heute noch seinen Platz, so dass er Bestandteil fast aller Unix-/Linux-Distributionen ist.

Die originale Version von Bill Joy war ursprünglich weder im Quelltext noch sonst frei verfügbar, so dass mittlerweile eine Reihe von Klonen mit zum Teil wesentlichen Erweiterungen existiert, wie z. B. Vim, Nvi, elvis und WinVi, die teilweise auch für Plattformen jenseits von Unix verfügbar sind. Unterschiedlich verbesserte Implementierungen des Originals sind bei den BSDs und einigen kommerziellen Unices noch immer verbreitet, bei den Linux-Distributionen findet sich der originale vi dagegen nicht mehr im Standardumfang und nur selten in erweiterten Repositories. Hier ist als Default-Editor zumeist eine abgespeckte Version von Vim installiert, je nach Zielgruppe aber auch das nicht immer.

Tastatur

Die von Bill Joy verwendete ADM-3A-Tastatur besaß neben Buchstaben und Zahlen nur wenige weitere Tasten (hier grau). Das erklärt die für heutige Verhältnisse ungewöhnliche Bedienung. Ebenfalls ist zu beachten, dass : ohne Umsch aufgerufen wird.

Arbeitsmodi

Vi besitzt drei grundsätzlich unterschiedliche Arbeitsmodi:

Befehlsmodus

Beim Start von vi befindet man sich im Befehlsmodus (command mode). Dort können durch verschiedene Tastendrücke einfache Befehle ausgeführt werden, wie zum Beispiel „Wort suchen“, „Zeile löschen“ usw. Von diesem Befehlsmodus aus kann man dann die editierte Datei etwa durch Drücken von : w q return abspeichern und verlassen.

Einfügemodus

Durch Befehle wie i, a oder o gelangt man aus dem Befehlsmodus in den Einfügemodus. (insert mode). Hier ist die eigentliche Eingabe von Text möglich. Durch Drücken von Esc gelangt man aus dem Einfügemodus wieder zurück in den Befehlsmodus.

Kommandozeilenmodus

Durch Eingabe von : (Doppelpunkt) gelangt man vom Befehlsmodus in den Kommandozeilenmodus ("colon mode" oder "ex mode"). Dort können komplexere Befehle wie etwa zum Suchen und Ersetzen von Text ausgeführt werden. durch drücken von Enter kommt man wieder zurück in den Befehlsmodus. Wenige Ausnahmen, wie z. B. das Zurückspringen des r-Befehls in den Befehlsmodus ohne Drücken von Esc, existieren.

Vor- und Nachteile

Aufgrund der verschiedenen Arbeitsmodi ist die Bedienung von vi, verglichen mit anderen Terminaleditoren wie GNU nano oder heute üblicheren grafischen Editoren, zunächst gewöhnungsbedürftig. Ein großer Vorteil von vi ist hingegen, dass mehrere Befehle nacheinander ohne gleichzeitiges Betätigen der Alt-, Strg- oder sonstiger Modifikator-Tasten abgesetzt werden können. So ist es auch möglich, mit einem einzigen Befehl mehrere Wörter oder Sätze zu löschen.

Humor

Im Zuge des sogenannten Editor Wars gründeten die Anhänger von vi den „Cult of Vi“ als Reaktion auf die von Richard Stallman alias St. IGNUcius gegründete Church of Emacs. Daraufhin wurden sie von den Emacs-Anhängern als Nachahmer („ape their betters“) verspottet.[2]

Literatur

  • Boor, Hutter, Pribas: vi-Referenzhandbuch. Prentice Hall, ISBN 3-8272-9533-5.
  • Arnold Robbins: vi-Editor kurz & gut. O’Reilly Verlag, ISBN 3-89721-213-7.
  • Morris I. Bolsky: UNIX-Text-Editor – Das vi-Handbuch. Carl Hanser & Prentice-Hall International, 1988, ISBN 3-446-15128-1.

Weblinks

Wikibooks: Vi-Befehlsreferenz – Lern- und Lehrmaterialien
Wikibooks: Learning the vi editor – Lern- und Lehrmaterialien

Einzelnachweise

  1. Christian Gross: Open source for Windows administrators. Charles River Media, Hingham, Mass. 2005, ISBN 1-58450-347-5, S. 55.
  2. Andrew Min: The top 4 internet flame wars about free software Free Software Magazine, 16. August 2008, abgerufen am 13. September 2020.

Auf dieser Seite verwendete Medien

KB Terminal ADM3A.svg
Autor/Urheber: Die Autorenschaft wurde nicht in einer maschinell lesbaren Form angegeben. Es wird StuartBrady als Autor angenommen (basierend auf den Rechteinhaber-Angaben)., Lizenz: CC BY-SA 3.0
Keyboard layout of the Lear Siegler ADM-3A terminal. Based on Image:KB United States.svg.
NetBSD 6.1 vi C Hello World.png
Autor/Urheber: Huihermit, Lizenz: CC0
Editing an ANSI C "Hello World" program in the vi editor in NetBSD 6.1.