Der Befehl vi
In diesem Beitrag lernen Sie Grundlagen des Texteditors vi kennen, welcher unter UNIX- / Linux dazu verwendet wird, um Dateien zu modifizieren. vi ist auch unter dem Namen vim bekannt, da es sich bei vim um eine Weiterentwicklung von vi mit mehr Funktionen handelt.
Allgemeine Syntax
Die allgemeine Syntax des Befehls vi lautet:
vi [Optionen] [Datei]
Die Betriebsmodi
Es ist wichtig zu wissen, dass der Texteditor vi verschiedene Modi besitzt, um zu differenzieren, ob Ihre Eingabe als Befehl oder als Text gemeint ist. Im Folgenden werden wir auf diese eingehen.
Der Kommando-Modus
Dieser Modus wird betreten, sobald Sie eine Datei mit dem Befehl vi öffnen. Sie können den Cursor mit den Pfeiltasten durch den Inhalt der Datei bewegen und verschiedene Kommandos absetzen, um den Cursor an eine bestimmte Position zu setzen oder den Inhalt der Datei zu modifizieren, z.B. eine ganze Zeile löschen oder Text kopieren und einfügen. Um aus den anderen Modi in den Kommando Modus zurück zu wechseln, drücken Sie die ESC-Taste.
Der Einfüge-Modus
Diesen Modus erreichen Sie, indem Sie im Kommando-Modus die Taste "i" (insert) drücken. Im Einfüge-Modus können Sie Text eingeben, wie Sie es auch von anderen Editoren gewohnt sind.
Die Grundlagen
Hier werden wir Ihnen alles nötige zeigen, damit Sie anschließend in der Lage sind, mit dem Texteditor vi grundsätzlich eine Datei bearbeiten zu können.
Eine Datei öffnen
Wie eingangs im Abschnitt "Allgemeine Syntax" beschrieben, können Sie eine Datei öffnen, um diese dann mit Inhalt zu befüllen oder den Inhalt zu modifizieren. Sie können auch eine Datei öffnen, die noch nicht im Dateisystem Ihres Systems existiert. Speichern Sie diese dann ab, wird die Datei mit entsprechendem Inhalt angelegt.
Beispiel: Eine Datei öffnen 1
Eingabe:
vi /home/hellberg/profi-tutorials/linux/grundlagen/befehl-vi.txt
Bedeutung:
In diesem Beispiel wird der Befehl vi verwendet, um die Datei "befehl-vi.txt" im Kommando-Modus zu öffnen. Der Cursor befindet sich dann in Zeile 1 auf der ersten Position.
Beispiel: Eine Datei öffnen 2
Eingabe:
vi + /home/hellberg/profi-tutorials/linux/grundlagen/befehl-vi.txt
Bedeutung:
Auch in diesem Beispiel wird die Datei "befehl-vi.txt" im Kommando-Modus geöffnet. Allerdings befindet sich der Cursor in der letzten Zeile auf Position 1.
Eine Datei bearbeiten
Um den Inhalt einer Datei zu bearbeiten, öffnen Sie eine Datei mit dem Texteditor vi. Sie befinden sich im Kommando-Modus. Hier stehen Ihnen nun sehr viele Möglichkeiten zur Verfügung, den Inhalt zu verändern. Wir gehen hier vorerst auf die wichtigsten Befehle ein.
Gesamte Zeile Löschen
Bewegen Sie den Cursor auf die Zeile, die Sie entfernen möchten. Die Position ist dabei nicht relevant. Nun drücken Sie zweimal hintereinander auf die Taste "d", also "dd". Möchten Sie mehrere Zeilen auf einmal löschen, bewegen Sie den Cursor auf die Zeile, ab der die Zeilen gelöscht werden sollen. Sollen jetzt beispielsweise drei Zeilen gelöscht werden, betätigen Sie hintereinander die Tasten "3dd".
Zeichen Löschen
Bewegen Sie den Cursor auf das Zeichen, das gelöscht werden soll und drücken Sie die Taste "x".
Zeichen vor dem Cursor löschen
Sollen z.B. fünf Zeichen vor dem Cursor gelöscht werden, drücken Sie hintereinander die Tasten "5x" (kleines x). Das Zeichen, auf dem sich der Cursor befindet, wird dabei nicht mit gelöscht.
Zeichen nach dem Cursor löschen
Möchten Sie z.B. fünf Zeichen nach dem Cursor löschen, drücken Sie hintereinander die Tasten "5X" (großes X). Das Zeichen, auf dem sich der Cursor befindet, wird auch gelöscht.
Zeilen kopieren und einfügen
Möchten Sie eine Zeile in den Zwischenpuffer ablegen, bewegen Sie im Kommando-Modus den Cursor auf die Zeile, die kopiert werden soll und drücken Sie hintereinander die Tasten "yy". Sie können auch mehrere Zeilen auf einmal kopieren. Sollen z.B. 3 Zeilen kopiert werden, also die Zeile, auf dem sich der Cursor befindet und die zwei weiteren Zeilen darunter, drücken Sie die Taste "3yy".
Sie können die Zeile(n) aus dem Zwischenpuffer einfügen, indem Sie die Taste "p" drücken. Die Zeilen werden dann nach der Zeile eingefügt, auf dem sich der Cursor befindet. Es wird dabei kein Inhalt überschrieben.
Möchten Sie die Zeile(n) lieber vor der Zeile einfügen, auf der sich der Cursor befindet, drücken Sie stattdessen die Taste "P".
Rückgängig machen von Kommandos
Möchten Sie das letzte Kommando, das Sie im Texteditor vi durchgeführt haben, rückgängig machen, drücken Sie im Kommando-Modus die Taste "u" (undo).
Eine Datei abspeichern
Drücken Sie Kommando-Modus des Texteditors vi die Taste ":", um die Befehlszeile des Editors aufzurufen. Wenn Sie nun den Buchstaben "w" (write) eingeben und mit der Enter-Taste bestätigen, wird der Inhalt der Datei abgespeichert.
Eine Datei schließen
Möchten Sie eine Datei schließen, betreten Sie im Kommando-Modus mit der Taste ":" wieder die Befehlszeile von vi und geben dann den Buchstaben "q" (quit) gefolgt von der Enter-Taste ein. Sie können zeitgleich auch den Inhalt einer Datei abspeichern und schließen, indem Sie in der Befehlszeile "wq" eingeben. Soll eine Datei ohne Speichern geschlossen werden, geben Sie stattdessen "q!" ein. Damit erzwingen Sie das Schließen der Datei.
Abonniere JETZT unseren Newsletter!
Verpasse nie wieder neue Beiträge und exklusive Insider-Only-Inhalte!