Zurück zur Startseite Fahrrad Fotografie Diverses Die Galaxis
Computer Linux Age of Kings Age of Mythology [TSD]-Clan

Der vi Editor

Warum vi?

Unter Linux (und Unix ganz allgemein) gibt es unzählige Texteditoren. Viele davon auch für grafische Benutzeroberflächen wie KDE oder Gnome. Noch mehr im reinen Textmodus, einer der bekanntesten ist emacs.

Der vi-Editor ist anfänglich etwas schwer zu verstehen, da er nicht im Eingabemodus beginnt und insgesamt über drei Betriebsarten verfügt. Warum sollte man sich also damit herumschlagen?

Meiner Ansicht nach sprechen einige Punkte für den vi, speziell als Systemadministrator:

  • Der vi verbraucht wenige Systemressourcen.
  • Wenn man die Syntax beherrscht, ist man mit dem vi sehr schnell, da sich viele Operationen mit wenigen Tastendrücken erledigen lassen.
  • Auf fast 100% aller Unix-Systeme ist ein vi oder ein Klon installiert. Wenn man also mal auf einem fremden System arbeiten muß, braucht man sich nicht an einen anderen Editor zu gewöhnen. Da er im reinen Textmodus arbeitet, ist man auch nicht von X-Windows und grafischen Oberflächen abhängig.
  • Der Freakfaktor ist ziemlich hoch ;-)

Nebenbei bemerkt habe ich auch meine Website fast komplett im vi erstellt.

Funktionsbeschreibung

Die drei wichtigen Betriebsarten des vi (visueller Modus, Eingabemodus und ex-Modus) sind in den Manpages gut genug beschrieben. Daher will ich an dieser Stelle eher eine Zusammenfassung der wichtigsten Tastenbelegungen zum schnellen Nachsehen präsentieren.

Bewegungsbefehle

Befehl     Funktion
hLinks
jUnten
kOben
lRechts
wWortweise vorwärts
WWortweise vorwärts, inklusive Interpunktionszeichen
bWortweise rückwärts
BWortweise rückwärts, inklusive Interpunktionszeichen
eWortende
EWortende inklusive Interpunktionszeichen
0Zum Zeilenanfang
$Zum Zeilenende
+Erstes Zeichen der nächsten Zeile
-Erstes Zeichen der vorigen Zeile
HErste Bildschirmzeile
MMittlere Bildschirmzeile
LLetzte Bildschirmzeile

Suchbefehle

Befehl     Funktion
/MusterSuche vorwärts nach Muster
?MusterSuche rückwärts nach Muster
nWiederhole letzte Suche in gleiche Richtung
N Wiederhole letzte Suche in umgekehrte Richtung
/Wiederhole letzte Suche vorwärts
?Wiederhole letzte Suche rückwärts

Einfügebefehle

Befehl     Funktion
i Text vor dem Cursor einfügen
I Text am Anfang der Zeile einfügen
a Text nach dem Cursor einfügen
A Text am Ende der Zeile einfügen
o Neue Textzeile unter dem Cursor einfügen
O Neue Textzeile über dem Cursor einfügen

Änderungsbefehle

Befehl     Funktion
r Einzelnes Zeichen ändern
R Überschreiben
cw Wort ändern (mit cW inklusive Interpunktionszeichen)
cc Zeile ändern
C Zeile vom Cursor bis zum Zeilenende ändern

Lösch- und Verschiebebefehle

Befehl     Funktion
x Zeichen löschen
X Zeichen vor dem Cursor löschen
dwWort löschen
dd Zeile löschen
D Bis zum Zeilenende löschen
p Zuletzt gelöschten oder kopierten Text hinter dem Cursor einfügen
P Zuletzt gelöschten oder kopierten Text vor dem Cursor einfügen
yw Wort in Puffer kopieren
yy Zeile in Puffer kopieren
"ayy Zeile in Puffer a kopieren
"ap Text aus Puffer a hinter dem Cursor einfügen

Sonstige nützliche Befehle

Befehl     Funktion
.Letzten Editierbefehl wiederholen
u Letzten Editierbefehl zurücknehmen
J Aktuelle und nächste Zeile vereinen
:x Datei speichern und vi beenden
:w Datei speichern
:30,60w neudatei Zeilen 30 bis 60 unter dem Namen neudatei speichern
:e!Datei neu laden und alle bisherigen Änderungen rückgängig machen
:1,$s/Muster/Neu/g In der ganzen Datei Muster durch Neu ersetzen

Speziell der Ersetzungsbefehl kann sehr stark sein. Er akzeptiert auch reguläre Ausdrücke und am Anfang einen Bereich von Zeilen, in dem er wirksam sein soll.

Zurück zum Seitenbeginn Zurück zu Linux