vi - Beispiele

Pinguin
Inhalt:
  1. Einleitung
  2. den vi aufrufen und beenden
  3. Grundlagen
  4. Texte editieren
  5. ex-Modus
  6. Einstellungen
  7. Web-Ressourcen

Einleitung

Das bearbeiten von Textdateien ist eine der häufigsten Aufgaben bei der Konfiguration eines Linux-/Unix-Systems. Der vi ist einer der nützlichsten Standard-Texteditoren auf deinem System. Mit dem vi kannst du neue Dateien erzeugen oder vorhandene Textdateien bearbeiten. vi ist die Abkürzung von visual Editor und spricht sich "wie Ei".

Der vi unterscheidet zwei verschiedene Arbeits-Modi, den Eingabemodus und den Befehlsmodus. Der Eingabemodus dient zum Editieren der Datei. Man kann einfügen, ändern und löschen. Im Befehlsmodus kann man über normale Tastenkombinationen den eingegebenen Text bearbeiten, wobei umfangreiche Möglichkeiten zur Textmanipulation zur Verfügung stehen.

Inhalt

Den vi aufrufen und beenden

Um die Datei textdatei zu bearbeiten, ruft man den Editor mit vi textdatei auf. Wenn man sich die Datei nur ansehen will (readonly), dann kann der vi auch mit view textdatei aufgerufen werden. Die folgende Tabelle zeigt einige der häufig gebrauchten Parameter, mit dem man den vi aufrufen kann:

+n datei Öffnet datei bei der Zeilennummer n
+datei Öffnet datei bei der letzten Zeile
+/muster datei Öffnet datei beim ersten Auftreten von muster

Um den vi zu beenden und die gemachten Änderungen gibt es verschiedene Möglichkeiten:

:wq Speichert die Datei und beendet den vi
ZZ Speichert die Datei und beendet den vi
:e! Liest die Originaldatei erneut ein
:q! Beendet den vi und verwirft die Änderungen
Inhalt

Grundlagen

Um mit dem vi Text zu editieren, muß man in den Eingabemodus wechseln. Die folgende Tabelle enthält dazu die wichtigsten Befehle:

Befehl Editierarbeit
i Text an der aktuellen Position einfügen
I Text am Zeilenanfang einfügen
a Text an der aktuellen Position anfügen
A Text am Zeilenende anfügen
o Unterhalb des Cursors eine neue Zeile einfügen
O Oberhalb des Cursors eine neue Zeile einfügen
S Zeile löschen und Text ersetzen
R Vorhandene Zeichen mit neuem Text überschreiben
J Aktuelle und folgende Zeile zusammenführen
~ Groß-/Kleinschreibung umsetzten
. Letzte Aktion wiederholen
u Letzte Änderung zurücknehmen
U Zeile in ihren urspünglichen Zustand zurücksetzen

Die folgende Tabelle enthält die wichtigsten Befehle, um sich mit dem vi in einem Text zu bewegen:

Befehl Bewegung
h, j, k, l links, unten, oben, rechts
+ Zum ersten Zeichen in der folgenden Zeile
- Zum ersten Zeichen in der vorangegangenen Zeile
e oder E An das Wortende
w oder W Wortweise vorwärts
b oder B Wortweise rückwerts
$ An das Zeilenende
0 An den Zeilenanfang
Inhalt

Texte editieren

Im Befehlsmodus nimmt der vi die Befehle nach folgendem Muster entgegen:

[befehl][anzahl]textobjekt
oder
[anzahl][befehl]textobjekt

Wichtige Befehle zum ändern, löschen und kopieren sind in der folgenden Tabelle aufgeführt. Es sind auch Beispiele für die Kombination eines Befehl mit der Angabe von anzahl gegeben:

Textobjekt Ändern Löschen Kopieren
1 Wort cw dw yw
2 Wörter 2cW 2dW 2yW
3 Wörter rückwärts 3cb 3db 3yb
1 Zeile cc dd yy
Bis Zeilenende c$ d$ y$
Bis Zeilenanfang c0 d0 y0
Einzelne Zeichen r x y1
5 Zeichen 5s 5x 5y1
Inhalt

ex-Modus

Der ex-Modus wurde schon häufig benutzt, ohne das ich direkt darauf eingegangen bin. Der Editor ex ist der Vorgänger des vi, ein zeilenorientierter Editor. Alle ex-Befehle beginnen mit dem Doppelpunkt.

Mit folgendem ex-Befehl z.B. kann ich die Zeilen 100 bis 200 hinter die Zeile 500 kopieren:

:100,200 copy 500

Neben dem Kopieren kann man im ex-Modus auch löschen (delete) und verschieben (move).

Ein weiterer wichtiger ex-Befehl ist der Befehl :g in Verbindung mit dem Substitutionsparameter /s, mit dem man in einer Datei global nach einem bestimmten Text suchen kann und diesen durch einen anderen Text ersetzt.

Beispiel: :g/muster1/s/muster2/neu/
Es werden alle Zeilen gesucht, die muster1 enthalten. In den gefundenen Zeilen wird der Text muster2 durch den Text neu ersetzt. Wenn muster1 und muster2 gleich sind, dann der Befehl auch auf :g/muster1/s//neu/ verkürzt werden.

Inhalt

Einstellungen

Der vi läßt sich im laufenden Betrieb über den ex-Befehl :set konfigurieren. Alle Einstellungen können aber auch dauerhaft in der Datei .exrc vorgenommen werden.

Die folgende Tabelle enthält die wichtigsten Einstellungen, die für den vi vorgenommen werden können. Wenn man im vi den Befehl :set all ausführt, dann wird eine Liste mit allen Parametern angezeigt.

Parameter Bedeutung
autoindent automatischer Zeileneinzug
ignorecase Groß-/Kleinschreibung ignorieren
number Zeilennummerierung
shiftwidth=4 Zeileneinzug = 4 Zeichen
tabstop=4 Tabulator = 4 Zeichen
nowrap keine automatischer Zeilenumbruch
Inhalt

Web-Ressourcen

Unter folgenden Internetseiten sind weitere Informationen zum vi und zu vi-Clones zu finden:

Inhalt


Tips&Tricks Homepage