16 Vi
vi(1) ist das Standard Unix Textbearbeitungsprogramm. Auch, wenn es nicht mehr so unentbehrlich, wie früher ist, vi zu beherrschen, ist es immer noch ein lohnendes Ziel. Es sind viele Versionen (oder Klone) von vi verfügbar, darunter auch vi, elvis, vile, und vim. Einer von diesen ist auf fast jedem Unix, wie auch auf Linux, verfügbar. Alle diese Versionen beinhalten den gleichen grundlegenden Funktionsumfang und die gleichen Befehle. Deshalb sollte das Erlernen eines Klons ein Erlernen eines weiteren sehr einfach machen. Durch die Vielfalt von Texteditoren, die in Linux-Distributionen enthalten sind, verwenden heutzutage viele Leute kein vi mehr. Dennoch bleibt er der universellste Texteditor für Unix und Unix-ähnliche Systeme. Vi zu beherrschen, bedeutet, dass Sie niemals an einer Unix-Maschine sitzen sollten, ohne mit mindestens einem leistungsfähigen Editor vertraut zu sein.
vi umfasst eine Vielzahl von mächtigen Features, wie Syntax-Highlighting, Code-Formatierung, einen mächtigen Suchen- und Ersetzen-Mechanismus, Makros und mehr. Diese Features machen ihn besonders attraktiv für Programmierer, Web Entwickler und ähnliche. Systemadministratoren werden die autmation und integration mit der Shell, welche möglich ist, zu schätzen wissen.
Auf Slackware Linux ist die Standard-Version von vi, die verfügbar ist, elvis. Andere Versionen - einschließlich vim und gvim - sind verfügbar, wenn Sie die passenden Pakete installiert haben. gvim ist eine X-Window-Version von vim die Symbolleisten, abtrennbare Menüs und dialogboxen enthält.
16.1 Vi starten
vi kann von der Befehlszeile auf verschiedene Weise gestartet werden. Die einfachste Form ist einfach:
% vi
Abbildung 16-1. Eine vi Session.

Dies startet vi mit einem leeren Buffer. An dieser Stelle sehen Sie einen größtenteils leeren Bildschirm. Es ist nun im "Befehlsmodus" und wartet darauf, dass Sie etwas tun. In Abschnitt 16.2 werden die verschiedenen vi Modis behandelt. Um vi zu beenden tippen Sie folgendes:
:q
Wenn wir annehmen, dass keine Änderungen an der Datei gemacht wurden, dann wird dies dafür sorgen, dass vi beendet wird. Wenn Änderungen durchgeführt wurden, dann wird es Sie warnen, dass Änderungen gemacht wurden und wird ihnen mitteilen wie Sie diese Warnung umgehen. Umgehen von Warnungen bedeutet normalerweise einfach das Anhängen eines Ausrufezeichens nach dem "q", also so:
:q!
Das Ausrufezeichen bedeitet normalerweise, dass eine Aktion erzwungen werden soll. Wir besprechen diesen und andere Befehle später im Detail.
Sie können vi auch mit einer bereits existierenden Datei starten. Zum Beispiel würde die Datei /etc/resolv.conf wie folgt geöffnet:
% vi /etc/resolv.conf
Letztlich kann vi auch an einer bestimmten Zeile einer Datei gestartet werden. Dies ist besonders praktisch für Programmierer, wenn eine Fehlermeldung die Zeile enthält, an der das Programm fehlgeschlagen ist. Zum Beispiel könnten Sie vi an Zeile 47 von /usr/src/linux/init/main.c wie folgt starten:
% vi +47 /usr/src/linux/init/main.c
vi wird die angegebene Datei anzeigen und wird den cursor an die angegebene Zeile platzieren. Im Fall, dass Sie eine Zeile angeben die nach dem Ende der Datei liegt, platziert vi den Cursor in die letzte Zeile. Dies ist besonders hilfreich für Programmierer, da sie direkt zur Stelle in der Datei springen können, an der der Fehler aufgetreten ist, ohne danach suchen zu müssen.