vi

vi
vi beim Bearbeiten einer leeren Datei

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

Inhaltsverzeichnis

Einordnung

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

1991 benutzten ungefähr die Hälfte aller Teilnehmer einer Usenet-Umfrage den vi. Auch heutzutage ist vi zumindest in der Unixwelt noch 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 seiner relativen Ressourcenfreundlichkeit starten vi bzw. fast alle seine Klone schneller und benötigen weniger Speicherplatz als 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, WinVi, die teilweise auch auf nicht Unix-artigen Systemen laufen.

Arbeitsmodi

vi besitzt drei grundsätzlich unterschiedliche Arbeitsmodi. Die drei Modi sind:

Befehlsmodus (command mode)
Beim Start von vi befindet man sich im Befehlsmodus. Dort können durch verschiedene Tastendrücke einfache Befehle ausgeführt werden, wie z. B. „Wort suchen“, „Zeile löschen“ usw. Durch Drücken von Esc gelangt man in diesen Befehlsmodus.
Einfügemodus (insert mode)
Im Einfügemodus ist die eigentliche Eingabe von Text möglich. Durch Befehle wie „i“, „a“ oder „o“ gelangt man aus dem Befehlsmodus in diesen Einfügemodus.
Kommandozeilenmodus (auch Komplexbefehlsmodus, colon mode oder ex mode)
Durch Eingabe von ':' (Doppelpunkt) gelangt man vom Befehlsmodus in den Kommandozeilenmodus. Dort können komplexere Befehle wie etwa zum Suchen und Ersetzen von Text ausgeführt werden.

Frühere Versionen gaben dem Benutzer keinen Anhaltspunkt, in welchem Modus er sich gerade befand. Aktuelle Versionen von vi zeigen ihren augenblicklichen Modus auf der Statuszeile oder grafisch an.

                                        |  Start mit
                                        |  vi <dateiname>
                                        v
+--------------------+              +--------------------+              +-------------------+
|                    |              |                    |              |                   |
|   Kommandozeilen-  |  <---------  |    Befehls-Modus   |  --------->  |   Einfüge-Modus   |
|       Modus        |     „:“      |                    |  „i“, „a“,   |                   |
|                    |              | Verwendung von:    |  „o“ usw.    |                   |
| z. B. „wq“, „q!“   |              | yy, p, dd, J       |              | Normales Editie-  |
| oder komplexe      |              | usw.               |              | ren, Pfeiltasten  |
| Befehle wie        |              |                    |              | Bildscrollen usw. |
| „Suchen und        |   [Enter]    | (Der vi startet    |    [Esc]     |                   |
| Ersetzen“          |  --------->  | in diesem Modus)   |  <---------  |                   |
|                    |              |                    |              |                   |
+--------------------+              +--------------------+              +-------------------+
    |                                   |
    |  Beenden mit                      |  Beenden mit    
    v  „wq“ oder „x“                    v  „ZZ“  

(wenige Ausnahmen, wie z. B. das Zurückspringen des „r“-Befehls in den Befehlsmodus ohne Drücken von Escape, existieren)

Vor- und Nachteile

Aufgrund der verschiedenen Arbeitsmodi ist die Bedienung von vi, verglichen mit heute üblichen 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.

Zitate

„Sure vi is user-friendly; it’s just peculiar about who it makes friends with.“

„Sicher ist vi benutzerfreundlich, es ist nur eigen in der Wahl seiner Freunde“

unbekannter Autor

„In the middle of evil there is vi.“

„Im Zentrum des Bösen (Evil) ist vi.“

unbekannter Autor

„vi – it’s small but smart.“

„vi – es ist klein, aber schlau.“

Chris Snowwhite: Zeitschrift EasyLinux nach dem Sieg des dig.biz Award Austria 2007

„vi has two modes: beep constantly, and break everything.“

„vi hat zwei Betriebsarten: andauernd piepsen und alles kaputtmachen.“

unbekannter Autor

Quellenangaben

  1. Christian Gross: Open Source for Windows Administrators, S. 55, Charles River Media 2005, ISBN 1-584-50347-5

Literatur

Weblinks

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

Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”