Solaris Handbuch für Fortgeschrittene Benutzer

6.2 Betriebsmodus

vi unterstützt zwei Betriebsmodi: den Eingabemodus und den Befehlsmodus. Im Eingabemodus geben Sie Text in eine Datei ein, während der Befehlsmodus für die Eingabe von Befehlen vorgesehen ist, mit denen spezielle Editorfunktionen aufgerufen werden. Der Befehlsmodus ist der Standardmodus in vi.

Da vi den aktuellen Modus nicht anzeigt, wissen neue Benutzer häufig nicht, in welchem Modus sie sich gerade befinden, was dann leicht zu Verwirrung führt. vi-Probleme lassen sich jedoch weitgehend vermeiden, wenn Sie einige grundlegende Hinweise von Anfang an beachten.

Wenn Sie eine Datei das erste Mal öffnen, befindet sich vi im Befehlsmodus. Bevor Sie Text in die Datei eingeben können, müssen Sie also in den Eingabemodus wechseln. Dafür gibt es mehrere Befehle, z. B. i (insert), mit dem Sie Text an der Cursorposition einfügen, oder a (append), mit dem Sie Text nach der Cursorposition einfügen. (Diese und weitere Eingabebefehle werden später noch ausführlich behandelt.)

Mit der Taste Esc" kehren Sie in den Befehlsmodus zurück. Wenn Sie nicht sicher sind, in welchem Modus Sie sich befinden, können Sie mit Esc" also zunächst in den Befehlsmodus wechseln und dann gegebenenfalls wieder zum Eingabemodus umschalten. Befindet sich vi bereits im Befehlsmodus, wenn Sie Esc" drücken, blinkt der Bildschirm, und es wird ein akustisches Signal ausgegeben, das Sie aber ignorieren können.

6.2.1 Eingabemodus

Um mit der Texteingabe zu beginnen, geben Sie den Befehl i ein. Damit wechseln Sie in den Eingabemodus.

Geben Sie nun einige kurze Textzeilen ein, und beenden Sie jede Zeile mit Return". Die eingegebenen Zeichen erscheinen links vom Cursor, bereits vorhandene Zeichen werden dabei nach rechts verschoben. Tippfehler korrigieren Sie zunächst durch Löschen mit der Rücktaste (Back Space) und Neueingabe der Zeichen vor Beendigung einer Zeile mit Return".

Wenn Sie mit der Eingabe fertig sind, wechseln Sie mit Esc" zurück in den Befehlsmodus. Der Cursor springt dabei auf das zuletzt eingegebene Zeichen zurück.

Reagiert vi nicht wie erwartet, haben Sie möglicherweise versehentlich auf Großbuchstaben-Eingabe (Caps) umgeschaltet. Auf manchen Systemen wird dieser Modus mit der Taste F1" aktiviert, die sich normalerweise direkt neben der Taste Esc" befindet und daher oft anstelle von Esc" gedrückt wird.


Hinweis -

Wenn auf dem Bildschirm verirrte" Systemmeldungen oder andere unerwünschte Zeichen auftauchen, wechseln Sie in den Befehlsmodus und drücken Ctrl-L". Damit weisen Sie vi an, den Bildschirminhalt neu zu zeichnen. Dieser Befehl ähnelt dem OpenWindows-Dienstprogramm Aktualisieren".


6.2.2 Befehlsmodus

Nach dem Öffnen einer Datei befindet sich vi im Befehlsmodus. In diesem Modus können Sie Befehle eingeben, mit denen bestimmte Funktionen ausgelöst werden. Die meisten Editorbefehle bestehen aus einem oder zwei Buchstaben und mitunter auch einer Zahl. Groß- und Kleinbuchstaben haben bei vi-Befehlen meist unterschiedliche Bedeutung. Mit dem Befehl a fügen Sie beispielsweise Zeichen rechts vom Cursor ein, während Sie mit dem Befehl A Zeichen am Ende der Zeile einfügen.

Die meistben Befehle werden automatisch ausgeführt. Return" müssen Sie nur bei Befehlen drücken, die mit einem Doppelpunkt beginnen. Da diese Befehle bei der Eingabe in der Statuszeile angezeigt werden, spricht man mitunter auch vom Statuszeilenmodus als drittem Betriebsmodus. In diesem Handbuch wird jedoch nur zwischen Eingabe- und Befehlsmodus unterschieden.

Mit einem Doppelpunkt beginnende Befehle sind eigentlich ex-Befehle. vi und ex sind jedoch keine separaten Programme, sondern lediglich zwei verschiedene Schnittstellen zu dem gleichen Textbearbeitungsprogramm. vi ist eine bildschirmorientierte Schnittstelle, während ex zeilenorientiert arbeitet. Wenn Sie im Befehlsmodus einen Doppelpunkt eingaben, schalten Sie automatisch auf die Schnittstelle ex um und können so auf den gesamten Funktionsumfang von ex zugreifen, ohne vi verlassen zu müssen. Weitere Hinweise zu diesem Thema finden Sie im Abschnitt "6.6 ex-Befehle".