Vi
aus Wikipedia, der freien Enzyklopädie
![]() |
Der korrekte Titel dieses Artikels lautet „vi“. Diese Schreibweise ist aufgrund technischer Einschränkungen nicht möglich. |
vi („vi“ für „visual“; ausgesprochen [ vi: ai ], aber nicht [ vi: ] und auch 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 von „Visual Interface“, weil sein Vorgänger ex ein einfacher Zeileneditor war.
Inhaltsverzeichnis |
[Bearbeiten] 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 der seitenorierten 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 sehr gut auf anderen Rechnern arbeiten.
Die originale Version von Bill Joy war ursprünglich weder im Quelltext noch sonst frei verfügbar, so dass sich über die Jahre eine Reihe von Klonen entwickelte, z.B. Vim, Nvi, elvis, WinVi, die auch inzwischen teilweise auf nicht Unix-artigen Systemen laufen.
Aufgrund seiner Resourcenfreundlichkeit startet vi bzw. fast alle seiner Klone schneller und benötigen weniger Speicherplatz als Emacs. Sogar auf einer Rettungsdiskette hat vi bzw. ein vi Klone auch heute noch Platz, so dass entweder vi selbst oder einer seiner Klone Bestandteil fast aller Unix-/Linux-Distributionen ist.
[Bearbeiten] vi-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 Drücken von Befehlseingabebefehlen, 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 ausgeführt werden, wie etwa Suchen und ersetzen von Text (:%s/alter_text/neuer_text/g).
Frühere Versionen gaben dem Benutzer kein Indiz, in welchem Modus er sich gerade befand, 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 er sich wirklich im Befehlsmodus befindet (falls das vorher schon der Fall war, wird vi einfach nur piepsen). Aktuelle Versionen von vi deuten ihren augenblicklichen Modus auf der Statuszeile oder grafisch an (siehe Screenshot unterste Zeile - der Modus ist „EINFÜGEN“).
+-------------------+ | | Start mit: | | v vi dateiname | +-------------------+--------------+-------------------+--------------+-------------------+ | | | | | | | Kommandozeilen- | <--------- | Befehls-Modus | ---------> | Einfüge-Modus | | Modus | „:“ | | [i], [a], | | | | | Verwendung von: | [o] usw. | | | | | yy, p, dd, J | | Normales Editie- | | z.B. „wq“, „q!“ | | usw. | | ren, Pfeiltasten | | oder komplexe | | | | Bildscrollen usw. | | Befehle, wie | [ENTER] | (Der vi startet | [ESC] | | | Suchen & Ersetzen | ---------> | in diesem Modus) | <--------- | | | | | | | | +-------------------+--------------+-------------------+--------------+-------------------+ | | Beenden mit | | v „:wq“ od. „ZZ“ | +-------------------+
(wenige Ausnahmen, wie z.B. das Zurückspringen des [r]-Befehls in den Befehlsmodus ohne Drücken von [ESC], existieren)
[Bearbeiten] Vor- und Nachteile
Aufgrund der verschiedenen Arbeitsmodi brauchen Neueinsteiger für vi eine hohe Frustrationstoleranz. Ein großer Vorteil von vi ist, dass mehrere Befehle nacheinander ohne gleichzeitiges Betätigen der Alt-, Strg- oder sonstiger Modifikator-Tasten abgesetzt werden können. Für den geübten Benutzer bedeutet das eine erhebliche Steigerung der Arbeitsgeschwindigkeit. So löscht zum Beispiel 3dw
gleich drei Wörter auf einmal.
[Bearbeiten] Zitate
- „Why are we hiding from the police, daddy?“ - „Because we use vi son, they use emacs.“ - Unbekannter Autor (spielt auf die Flamewars zwischen vi- und Emacs-Benutzern an)
- „Sure vi is user-friendly; it's just peculiar about who it makes friends with.“ - Unbekannter Autor
[Bearbeiten] Literatur
- Morris I. Bolsky: UNIX-Text-Editor - Das vi-Handbuch, Carl Hanser & Prentice-Hall International, 1988, ISBN 3-446-15128-1
- Arnold Robbins: vi-Editor kurz & gut, O'Reilly Verlag, ISBN 3-89721-213-7
- Boor, Hutter, Pribas: vi-Referenzhandbuch, Prentice Hall, ISBN 3-8272-9533-5
[Bearbeiten] Weblinks
Wikibooks: Vi Befehlsreferenz – Lern- und Lehrmaterialien |
- Kurzanleitung vi Zusammenfassung der wichtigsten vi-Kommandos auf einer A4-Seite (PDF)
- The Traditional vi Quelltext des Original-vi, mit Anpassungen um auf modernen Unix-Systemen zu kompilieren
- Weitere Links, vor allem Kurzanleitungen beim Open Directory Project
- vi-Cheat-Sheet The Semi-Official IBM developerWorks vi-Cheat-Sheet (englisch)