Vorlesung "UNIX"

von Prof. Jürgen Plate

vi-Kurzreferenz

Der Editor vi ('vi' steht für 'visual') ist ein bildschirmorientierter Editor, d. h. der Text ist in seiner aktuellen Version auf dem Bildschirm zu sehen. Es werden hier nur die wichtigsten Kommandos für Einsteiger aufgeführt. Aufruf:

vi Dateiname

Ist die Datei vorhanden, wird sie in den Editorpuffer geladen, andernfalls wird sie neu angelegt. Nach dem Aufruf des vi befindet sich der Benutzer im Kommandomodus. Die Arbeit spielt sich in zwei Ebenen ab.

Kommandomodus:
Freies Positionieren des Cursors innerhalb des Textes, Umsetzen von Textblöcken, Schreiben und Lesen von Dateien, Löschen von Textblöcken und Aufruf von UNIX-Kommandos.
Eingabemodus:
Einfügen von Text oder Überschreiben vorhandener Textpassagen.
Das Umschalten zwischen den Modi erfolgt mit der ESC-Taste. Die Handhabung des Kommandomodus des vi macht die Bedienung für den Anfänger etwas ungewohnt. Die Cursorpositionierung erfolgt mit verschiedenen Tasten, für die Eingabe von Dateibefehlen oder anderen Funktionen (z. B. Suchen/Ersetzen) ist die Eingabe eines Doppelpunktes nötig. Man befindet sich dann in ex-Modus, der ähnliche Eigenschaften hat, wie der (--> ed).
Bleiben wir gleich bei den ex-Befehlen. Nach der Eingabe des ':' springt der Cursor in die letzte Zeile und erlaubt die Eingabe eines ex-Befehls, der mit der Return-Taste abgeschlossen wird. Es sind nach dem Doppelpunkt alle ed-Befehle möglich. Für den Einstieg genügen:

:wq        Text auf die Platte schreiben und vi beenden.
ZZ         Text auf die Platte schreiben und vi beenden.
:w         Text auf Platte schreiben.
:w Datei   Text auf die angegebenen Datei schreiben.
:w>>Datei  Text an die angegebene Datei anhängen.
:x         wie :wq.
:q         Abbrechen, ohne den Text auf Platte zu schreiben.
:q!        Abbrechen, ohne den Text auf Platte zu schreiben. 
:r Datei   Text aus der angegebenen Datei nach der momentanen
           Zeile einfügen.
:e Datei   Neue Datei bearbeiten

Umschalten in den Eingabemodus:

a          (append) Eingabe rechts vom Cursor
A          Eingabe am Zeilenende
i          (insert) Engabe links vom Cursor
I          Eingaben am Zeilenanfang
o          Eingabe in der folgenden Zeile, Spalte 1.
O          Eingabe in der vorhergehenden Zeile, Spalte 1.
Der Eingabemodus wird durch Drücken der ESC-Taste verlassen. Wenn es die Hardware ermöglicht, ändert sich die Form des Cursors beim Wechsel zwischen Eingabe- und Kommandomodus.
Blättern auf dem Bildschirm können Sie mit folgenden Tastenkombinationen:

CTRL-F     Eine Bildschirmseite vorwärts
CTRL-B     Eine Bildschirmseite rückwärts
CTRL-D     Eine halbe Bildschirmseite vorwärts
CTRL-L     Bildschirm neu aufbauen (wenn z.B. eine Nachricht kam)

Cursorpositionierung (im Kommandomodus):
Normalerweise ist der vi an die Pfeiltasten der Tastatur richtig angepaßt. Daneben gibt es noch folgende Möglichkeiten (Auswahl):

h          Zeichen links (auch Backspace)
l          Zeichen rechts (auch blank)
k          Spalte höher
j          Spalte tiefer
b          Wortanfang
e          Wortende
w          Anfang nächstes Wort
H          Anfang erste Zeile des Bildschirms
L          Anfang letzten Zeile des Bildschirms
0          (Null) Zeilenanfang
$          Zeilenende
RETURN     nächste Zeile
nG         (Go) Gehe zu Zeile n. n ist eine Zeilennummer.
           Fehlt die Zahl, wird zur letzten Zeile der 
           Datei gesprungen.

Löschen von Text (im Kommandomodus) und Text ändern. Die Änderungskommandos wechseln automatisch in den Eingabemodus, der mit der ESC-Taste verlassen werden muß.

x          Zeichen unter dem Cursor löschen
X          Zeichen vor dem Cursor löschen
dw         ab Cursorpos. bis Wortende löschen
db         ab Cursorpos. bis Wortanfang löschen
dd         ganze Zeile löschen
r          Zeichen ersetzen (kein Abschluß mit ESC)
R          Mehrere Zeichen ersetzen
s          Ein Zeichen ersetzen und zusätzliche Zeichen
           anschließend einfügen
cc         Gesamte Zeile ändern
cw         Wort ändern

Suchen nach Zeichen oder Strings. Außer 'fx' und 'Fx' müssen die Suchkommandos mit der Return-Taste abgeschlossen werden.

fx         Zeichen 'x' in der momentanen Zeile suchen (vorwärts)
Fx         Zeichen 'x' in der momentanen Zeile suchen (rückwärts)
/str       String 'str' vorwärts in der Datei suchen
?str       String 'str' rückwärts in der Datei suchen
//         Letzten Suchbefehl wiederholen (vorwärts)
??         Letzten Suchbefehl wiederholen (rückwärts)

Sonstige Kommandos:

J          Zeilen verbinden (nächste Zeile anhängen)
u          Letzten Befehl rückgängig machen
U          Aktuelle Zeile wiederherstellen
.          Letztes Kommando wiederholen

Zum Inhaltsverzeichnis  
Copyright © FH München, FB 04, Prof. Jürgen Plate