Sie besuchen die Seite über eine ungesicherte Verbindung. Gesicherte Verbindung mit https (empfohlen)
Bei Beschränkungen des Internet-Zugangs (Gäste-WLAN oder ähnliches, ohne https) wechseln Sie bitte nicht
Sie besuchen die Seite über eine ungesicherte Verbindung. Gesicherte Verbindung mit https (empfohlen)
Bei Beschränkungen des Internet-Zugangs (Gäste-WLAN oder ähnliches, ohne https) wechseln Sie bitte nicht

Kurze Einführung in die Grundlagen des Editors vi

nach oben (Seitenanfang) nach oben (Seitenanfang)
vi (visual editor), der auf *x basierenden Systemen seit langem sehr häufig verwendete Editor, schreckt neue Benutzer zunächst durch eine typische Eigenart der *x-basierten Editoren:
  Man kann nicht sofort irgendwelche Zeichen eingeben.
Dieser Umstand ist darin begründet, dass alle klassischen *x-basierenden Editoren mindestens zwei unterschiedliche Betriebsarten aufweisen, zwischen denen nach Bedarf umgeschaltet werden muss:
  a. den Befehlsmodus (command mode):
In diesem Modus befindet man sich automatisch nach Start des Editors. Diese Betriebsart erlaubt die freie Bewegung im Text, Kopieren/Löschen/Umsetzen/Verschieben von Textteilen, Schreiben in andere Dateien oder Absetzen von Systembefehlen (ohne Beendigung des Editors).

Wenn man sich im Befehlsmodus befindet, dann springt der Cursor nach Eingabe von :, /, ? oder ! (das entspricht Einleitungen von bestimmten Befehlen) in die unterste Zeile des Bildschirms (die Editoren vi/vim wechseln dadurch in einen dritten Modus, den last line mode).
 
  b. den Einfügemodus (insert mode):
Der Einfügemodus unterscheidet die Betriebsarten einfügen und überschreiben, zwischen denen mit „Umweg“ über den Befehlsmodus nach Bedarf umzuschalten ist ([Esc] + [i, a oder R]).

Den Einfügemodus erreicht man aus dem Befehlsmodus heraus durch Eingabe von einem der Befehle a, A, i, I, c, C, o, O, R, s oder S.

Zum Verlassen des Einfügemodus muss Esc betätigt werden.
 
  vi kennt noch einen dritten Modus, der allerdings nur aus dem Befehlsmodus heraus aktivierbar ist. Es ist der sogenannte
 
  last line mode.
 
  Als Benutzer nimmt man ihn bei der Befehlseingabe wahr, wenn der Cursor plötzlich in der untersten Zeile des Bildschirms (last line) auftaucht und Eingaben dort dargestellt werden. Normal beendet wird er mit der [Return]-([Enter]-)Taste, Abbruch erfolgt durch [Ctrl]C.
 
 

Wie funktioniert das nun mit diesen Modi?

Zur besseren Übersicht zunächst ein Bild, welches den Zusammenhang zwischen insert mode und command mode besser veranschaulichen sollte.

vi, Moduswechsel
 
  In obigem Bild steht  
  [Esc] für den Wechsel aus dem Einfügemodus in den Befehlsmodus  
  i für den Wechsel aus dem Befehlsmodus in den Einfügemodus (an Cursor-Position einfügend)  
  a für den Wechsel aus dem Befehlsmodus in den Einfügemodus (direkt hinter Cursor-Position anhängend)  
  R für den Wechsel aus dem Befehlsmodus in den Einfügemodus (überschreibend)  
  Ext. Befehle für die Ausführung eines (!) externen Befehls. Danach kehrt man automatisch wieder zu vi zurück.  
Achtung! Aufgrund seiner Herkunft ist bei Aufruf und Nutzung von vi Groß-/Kleinschreibung zu beachten (case sensitive). Leider stehen nicht alle genannten Optionen in allen Implementierungen zur Verfügung beziehungsweise sind mit anderen Funktionalitäten belegt. Zu allem Überfluss gibt es Abhängigkeiten von den Fähigkeiten des verwendeten Terminals sowie dessen Einstellungen und individuellen Vorgaben beispielsweise über die Environment-Variable EXINIT oder einer der Dateien .profile oder .exrc für ex-Befehle oder .vimrc, .gvimrc o.ä. bei Verwendung von vim.

Desweiteren ist zu beachten, dass die Leistungsfähigkeit der verschiedenen Implementierungen von vi sehr stark voneinander abweichen kann. Auch ist die Bedienung nicht in allen Implementierungen gleich. Deshalb wurde hier eine Aufteilung in Bereiche durchgeführt, so dass die Bedienung an zwei gebräuchlichen Derivaten vorgestellt werden kann:

Unix Hier wird auf die Bedienung von Unix-basierenden Derivaten eingegangen. Derartige Unizes sind seit den späten 70er Jahren auch als BSD (Berkeley Software Distribution), System III (AT&T), seit Mitte der 80er gefolgt von System V (AT&T) oder Xenix (Microsoft) bekannt geworden.
vim Das hauptsächlich durch Linux bekannt gewordene vi-Derivat Vi IMproved, das jedoch für alle gängigen Plattformen verfügbar ist.