In den folgenden Abschnitten werden die folgenden Kategorien von vi-Befehlen erläutert.
-
Bewegen in einer Datei
-
Einfügen von Text
-
Ändern und Ersetzen von Text
-
Änderungen an Text rückgängig machen
-
Löschen von Text
-
Rechtschreibprüfung
-
Formatierung der Dateiausgabe
-
Wiederholung von Befehlen
Bewegen in einer Datei
In den vorherigen Abschnitten haben Sie gelernt, wie man eine vi-Datei erstellt, Speichern, Drucken und Beenden einer vi-Datei. Nachdem Sie nun eine Datei erstellt haben, müssen Sie die Konzepte verstehen, die erforderlich sind, um sich in der Datei zu bewegen. Öffnen Sie nun Ihre Übungsdatei und probieren Sie jeden der Befehle aus, die in diesem Abschnitt besprochen werden.
Den Cursor bewegen
Wenn Sie vi starten, befindet sich der Cursor in der oberen linken Ecke des vi-Bildschirms. Im Befehlsmodus können Sie den Cursor mit einer Reihe von Tastaturbefehlen bewegen. Bestimmte Buchstabentasten, die Pfeiltasten und die Return-Taste, die Zurück-Leertaste (oder Entf-Taste) und die Leertaste können alle verwendet werden, um den Cursor zu bewegen, wenn Sie sich im Befehlsmodus befinden.
Hinweis –
Die meisten vi-Befehle unterscheiden Groß- und Kleinschreibung. Derselbe Befehl, der in Klein- und Großbuchstaben eingegeben wird, kann unterschiedliche Auswirkungen haben.
Bewegen mit Pfeiltasten
Wenn Ihr Rechner mit Pfeiltasten ausgestattet ist, probieren Sie diese jetzt aus. Sie sollten in der Lage sein, den Cursor frei über den Bildschirm zu bewegen, indem Sie Kombinationen aus den Pfeiltasten nach oben, unten, rechts und links verwenden. Beachten Sie, dass Sie den Cursor nur über bereits vorhandene Text- oder Eingabefelder bewegen können.
Wenn Sie vi von einem entfernten Terminal aus verwenden, funktionieren die Pfeiltasten möglicherweise nicht korrekt. Das Verhalten der Pfeiltasten hängt von Ihrem Terminalemulator ab. Wenn die Pfeiltasten bei Ihnen nicht funktionieren, können Sie die folgenden Ersatztasten verwenden:
-
Um nach links zu gehen, drücken Sie h.
-
Um nach rechts zu gehen, drücken Sie l.
-
Um sich nach unten zu bewegen, drücken Sie j.
-
Um sich nach oben zu bewegen, drücken Sie k.
Ein Wort bewegen
Drücken Sie w („Wort“), um den Cursor jeweils um ein Wort nach rechts zu bewegen.
Drücken Sie b („zurück“), um den Cursor jeweils um ein Wort nach links zu bewegen.
Drücken Sie W oder B, um den Cursor über die angrenzende Interpunktion hinaus zum nächsten oder vorherigen Leerzeichen zu bewegen.
Drücken Sie e („Ende“), um den Cursor auf das letzte Zeichen des aktuellen Wortes zu bewegen.
Zeilenanfang oder -ende ansteuern
Drücken Sie ^, um den Cursor an den Anfang der aktuellen Zeile zu setzen.
Drücken Sie $, um den Cursor an das Ende der aktuellen Zeile zu bewegen.
Eine Zeile nach unten bewegen
Drücken Sie die Return-Taste, um den Cursor an den Anfang der nächsten Zeile nach unten zu bewegen.
Nach links bewegen
Drücken Sie die Zurück-Leertaste, um den Cursor um ein Zeichen nach links zu bewegen.
Nach rechts bewegen
Drücken Sie die Leertaste, um den Cursor um ein Zeichen nach rechts zu bewegen.
Bewegen nach oben
Drücken Sie H („hoch“), um den Cursor an den oberen Rand des Bildschirms zu bewegen.
Bewegen in die Mitte
Drücken Sie M („Mitte“), um den Cursor in die Mitte des Bildschirms zu bewegen.
Bewegen zum unteren Rand
Drücken Sie L („niedrig“), um den Cursor zum unteren Rand des Bildschirms zu bewegen.
Blättern und Scrollen
Wenn Sie sich nach unten bewegen, wenn sich der Cursor am unteren Rand des Bildschirms befindet, oder sich nach oben bewegen, wenn sich der Cursor am oberen Rand des Bildschirms befindet, sehen Sie, wie der Text nach oben oder unten scrollt. Dieses Blättern kann eine effektive Methode sein, um mehr Text in einer kurzen Datei anzuzeigen, aber es kann mühsam sein, sich auf diese Weise durch eine lange Datei zu bewegen.
Sie können durch eine Datei, einen Bildschirm oder einen Halbbildschirm auf einmal vor- oder zurückblättern. Um diese Befehle in Paint auszuprobieren, sollten Sie Text hinzufügen, damit Sie eine längere Datei zum Arbeiten haben.
Beachten Sie, dass Blättern und Scrollen grundsätzlich unterschiedlich sind. Beim Blättern wird der Cursor tatsächlich zeilenweise durch den Text nach oben oder unten bewegt, so als ob er auf einer Papierrolle wäre. Beim Blättern wird der Cursor bildschirmfüllend durch den Text nach oben oder unten bewegt. Auf einem schnellen System bemerken Sie den Unterschied vielleicht nicht. Wenn Sie jedoch von einem entfernten Terminal aus arbeiten oder in einer anderen Situation, in der Ihr System langsamer als gewöhnlich läuft, kann sich dieser Unterschied schmerzlich bemerkbar machen.
Einen Bildschirm vorwärts blättern
Um einen Bildschirm vorwärts zu blättern (nach unten zu blättern), drücken Sie Strg-F. (Halten Sie die Strg-Taste gedrückt und drücken Sie die F-Taste.) Der Cursor bewegt sich in die obere linke Ecke des neuen Bildschirms.
Eine Bildschirmhälfte vorwärts blättern
Um eine Bildschirmhälfte vorwärts zu blättern, drücken Sie Strg-D.
Einen Bildschirm rückwärts blättern
Um einen Bildschirm rückwärts zu blättern (d. h. nach oben), drücken Sie Strg-B.
Eine Bildschirmhälfte rückwärts blättern
Um eine Bildschirmhälfte rückwärts zu blättern, drücken Sie Strg-U.
Text einfügen
vi bietet viele Befehle zum Einfügen von Text. In diesem Abschnitt lernen Sie die nützlichsten dieser Befehle kennen. Beachten Sie, dass jeder dieser Befehle vi in den Eingabemodus versetzt. Um einen dieser Befehle zu verwenden, müssen Sie sich zunächst im Befehlsmodus befinden. Denken Sie daran, Esc zu drücken, um sicherzustellen, dass Sie sich im Befehlsmodus befinden.
Anhängen
Tippen Sie a (anhängen), um Text rechts vom Cursor einzufügen. Probieren Sie es aus, indem Sie den Cursor an eine beliebige Stelle in einer Zeile bewegen und a eingeben, gefolgt von dem Text, den Sie hinzufügen möchten. Drücken Sie Esc, wenn Sie fertig sind.
Tippen Sie A, um Text am Ende einer Zeile einzufügen. Um zu sehen, wie dieser Befehl funktioniert, positionieren Sie den Cursor an einer beliebigen Stelle in einer Textzeile und geben Sie A ein. Der Cursor bewegt sich an das Ende der Zeile, wo Sie Ihre Ergänzungen eingeben können. Drücken Sie Esc, wenn Sie fertig sind.
Einfügen
Fügen Sie Text links vom Cursor ein, indem Sie im Befehlsmodus i eingeben.
Tippen Sie I, um Text am Anfang einer Zeile einzufügen. Der Befehl bewegt den Cursor von einer beliebigen Position in dieser Zeile. Drücken Sie Esc, um in den Befehlsmodus zurückzukehren, nachdem Sie den gewünschten Text eingegeben haben.
Zeile öffnen
Verwenden Sie diese Befehle, um neue Zeilen zu öffnen, entweder oberhalb oder unterhalb der aktuellen Cursorposition.
Tippen Sie o, um eine Zeile unterhalb der aktuellen Cursorposition zu öffnen. Um zu experimentieren, geben Sie o gefolgt von einem Stück Text ein. Sie können mehrere Textzeilen eingeben, wenn Sie möchten. Drücken Sie Esc, wenn Sie fertig sind.
Tippen Sie O, um eine Zeile oberhalb der aktuellen Cursorposition zu öffnen.
Text ändern
Beim Ändern von Text geht es darum, einen Textabschnitt durch einen anderen zu ersetzen. vi hat dafür mehrere Möglichkeiten, je nach den Umständen.
Wort ändern
Um ein Wort zu ersetzen, setzen Sie den Cursor an den Anfang des zu ersetzenden Wortes. Geben Sie cw ein, gefolgt von dem neuen Wort. Zum Beenden drücken Sie Esc.
Um einen Teil eines Wortes zu ändern, positionieren Sie den Cursor auf dem Wort, rechts neben dem zu ersetzenden Teil. Tippen Sie cw, geben Sie die Korrektur ein und drücken Sie Esc.
Zeile ändern
Um eine Zeile zu ersetzen, positionieren Sie den Cursor an einer beliebigen Stelle der Zeile und tippen Sie cc. Die Zeile verschwindet und hinterlässt eine Leerzeile für Ihren neuen Text (der beliebig lang sein kann). Drücken Sie zum Beenden die Esc-Taste.
Zeichen ersetzen
Um ein oder mehrere Zeichen für das Zeichen unter dem Cursor zu ersetzen, geben Sie s ein, gefolgt von dem neuen Text. Drücken Sie Esc, um in den Befehlsmodus zurückzukehren.
Ein Zeichen ersetzen
Mit diesem Befehl können Sie das vom Cursor markierte Zeichen durch ein anderes Zeichen ersetzen. Positionieren Sie den Cursor über dem Zeichen und geben Sie r ein, gefolgt von nur einem Ersatzzeichen. Nach der Ersetzung kehrt vi automatisch in den Befehlsmodus zurück (Sie brauchen nicht Esc zu drücken).
Änderungen rückgängig machen
Wenn Sie Text bearbeiten und Änderungen an einer vi-Datei vornehmen, wünschen Sie sich vielleicht gelegentlich, dass Sie etwas nicht geändert hätten. vi’s Rückgängig-Befehle ermöglichen es Ihnen, eine Operation zu sichern und von dort aus weiterzumachen.
Vorherigen Befehl rückgängig machen
Wenn Sie in vi einen Fehler machen oder es sich einfach anders überlegen, nachdem eine Operation abgeschlossen ist, können Sie Ihren letzten Befehl rückgängig machen, indem Sie direkt nach dem Befehl u drücken. Sie brauchen nicht Esc zu drücken, nachdem Sie u eingegeben haben. Wenn Sie u ein zweites Mal drücken, machen Sie den Vorgang rückgängig.
Änderungen an einer Zeile rückgängig machen
Tippen Sie U, um alle Änderungen, die Sie an einer Zeile vorgenommen haben, rückgängig zu machen. Dieser Befehl funktioniert nur, wenn Sie den Cursor nicht aus der Zeile bewegt haben. Sie müssen nicht Esc drücken, nachdem Sie U eingegeben haben.
Text löschen
Diese vi-Befehle löschen das Zeichen, das Wort oder die Zeile, die Sie angeben. vi bleibt im Befehlsmodus, so dass allen nachfolgenden Texteinfügungen zusätzliche Befehle vorausgehen müssen, um in den Eingabemodus zu gelangen.
Ein Zeichen löschen
Um ein Zeichen zu löschen, positionieren Sie den Cursor über dem zu löschenden Zeichen und geben Sie x ein.
Der x-Befehl löscht auch den Platz, den das Zeichen belegt hat – wenn ein Buchstabe aus der Mitte eines Wortes entfernt wird, schließen sich die verbleibenden Buchstaben und es bleibt keine Lücke. Auch Leerzeichen in einer Zeile können Sie mit dem x-Befehl löschen.
Um ein Zeichen vor (links vom) Cursor zu löschen, geben Sie X (Großbuchstaben) ein.
Löschen eines Wortes oder eines Teils eines Wortes
Um ein Wort zu löschen, positionieren Sie den Cursor am Anfang des Wortes und geben dw ein. Das Wort und der von ihm belegte Platz werden entfernt.
Um einen Teil eines Wortes zu löschen, positionieren Sie den Cursor auf das Wort rechts neben dem zu löschenden Teil. Tippen Sie dw, um den Rest des Wortes zu löschen.
Zeile löschen
Um eine Zeile zu löschen, positionieren Sie den Cursor an einer beliebigen Stelle der Zeile und tippen Sie dd. Die Zeile und der von ihr belegte Platz werden entfernt.
Kopieren und Verschieben von Text – Ausschneiden, Löschen und Einfügen
Viele Textverarbeitungsprogramme ermöglichen das „Kopieren und Einfügen“ und „Ausschneiden und Einfügen“ von Textzeilen. Auch der vi-Editor verfügt über diese Funktionen. Das vi-Befehlsmodus-Äquivalent zu „Kopieren und Einfügen“ ist yank und put. Das Äquivalent zu „Ausschneiden und Einfügen“ ist „Löschen und Einfügen“.
Die Methoden zum Kopieren oder Verschieben kleiner Textblöcke in vi beinhalten die Verwendung einer Kombination der Befehle yank, delete und put.
Zeilen kopieren
Das Kopieren einer Zeile erfordert zwei Befehle: yy oder Y („yank“) und entweder p („put below“) oder P („put above“). Beachten Sie, dass Y das Gleiche bewirkt wie yy.
Um eine Zeile zu verschieben, gehen Sie folgendermaßen vor.
-
Positionieren Sie den Cursor an einer beliebigen Stelle in der Zeile, die Sie verschieben möchten.
-
Tippen Sie yy.
-
Verschieben Sie den Cursor in die Zeile darüber, wo Sie die verschobene Zeile einfügen (kopieren) möchten.
-
Tippen Sie p.
Eine Kopie der ausgelagerten Zeile erscheint in einer neuen Zeile unterhalb des Cursors.
Um die ausgelagerte Zeile in einer neuen Zeile oberhalb des Cursors zu platzieren, geben Sie P ein.
Der yy-Befehl funktioniert gut mit einer Zählung: Um z. B. 11 Zeilen auszuleiten, geben Sie 11yy ein. Elf Zeilen, vom Cursor abwärts gezählt, werden ausgelagert, und vi zeigt dies mit einer Meldung am unteren Rand des Bildschirms an: 11 lines yanked.
Sie können auch die Befehle P oder p direkt nach einem der zuvor besprochenen Löschbefehle verwenden. Diese Aktion setzt den gelöschten Text über bzw. unter den Cursor.
Vorsicht –
Verwenden Sie nur Befehle zum Verschieben des Cursors zwischen dem Ausreißen oder Löschen und dem Einfügen. Wenn Sie einen anderen Text löschen oder verschieben, bevor Sie den neuen Text einsetzen, gehen die verschobenen oder gelöschten Zeilen verloren.
Zeilen verschieben
Zum Verschieben von Zeilen sind ebenfalls zwei Befehle erforderlich: dd („delete“) und entweder p oder P.
Um eine Zeile zu verschieben, positionieren Sie den Cursor an einer beliebigen Stelle der Zeile und geben dd ein. Um z. B. 5 Zeilen zu löschen, geben Sie 5dd ein.
Als Nächstes bewegen Sie den Cursor in die Zeile oberhalb der Stelle, an der die gelöschte Zeile wieder eingefügt werden soll, und geben p ein. Dadurch wird der Text in einer neuen Zeile unterhalb des Cursors eingefügt.
Alternativ können Sie die gelöschte Zeile oberhalb des Cursors einfügen, indem Sie P eingeben.
Befehle mit Zählung wiederholen
Vielen vi-Befehlen kann ein Wiederholungsfaktor (Zählung genannt) vorangestellt werden – eine Zahl, die dem Befehl vorangestellt wird und angibt, wie oft der Vorgang wiederholt werden soll.
Die meisten der Befehle in den vorherigen Abschnitten nehmen Zählwerte an. Zum Beispiel wiederholt 3dd den Befehl zum Löschen einer Zeile dreimal und löscht somit drei Zeilen. 2dw löscht zwei Wörter, und 4x löscht vier Zeichen oder Leerzeichen. Sie können Zählungen auch mit Befehlen zum Bewegen des Cursors verwenden, z. B. 3w und 2Strg-F. Im Abschnitt Zusammenfassung der grundlegenden vi-Befehle ist jeder Befehl, der eine Zählung vornimmt, durch „“ vor dem Befehlsnamen gekennzeichnet.
Die Eingabe eines Punktes (.) wiederholt den vorherigen Befehl zur Textänderung. Wenn Sie zum Beispiel gerade eine Zeile mit dd gelöscht haben, können Sie den Cursor in eine andere Zeile bewegen und diese löschen, indem Sie einfach einen Punkt eingeben.