Der vi-Editor ist ein interaktiver Befehlszeilen-Editor, mit dem Sie Textdateien erstellen und ändern können. Der vi-Editor ist auch der einzige Texteditor, mit dem Sie bestimmte Systemdateien bearbeiten können, ohne die Berechtigungen der Dateien zu ändern. Der Vim-Editor ist eine erweiterte Version des vi-Editors.
Zugriff auf den vi-Editor
Verwenden Sie den Befehl vi, um Dateien im vi-Editor zu erstellen, zu bearbeiten und anzuzeigen. Der vi-Befehl enthält die folgenden drei Syntaxen:
$ vi $ vi filename $ vi options filename
Wenn das System abstürzt, während Sie eine Datei bearbeiten, können Sie das -r verwenden Option zum Wiederherstellen der Datei.
$ vi -r filename
Die Datei wird geöffnet, damit Sie sie bearbeiten können. Anschließend können Sie die Datei speichern und den vi-Editor verlassen, indem Sie den folgenden Befehl verwenden:
$ vi -R filename
Die Datei wird im schreibgeschützten Modus geöffnet, um ein versehentliches Überschreiben des Inhalts der Datei zu verhindern.
Die vi-Editor-Modi
Der vi-Editor bietet drei Betriebsmodi:
1. Befehlsmodus – Der Befehlsmodus ist der Standardmodus für den vi-Editor. In diesem Modus können Sie Befehle zum Löschen, Ändern, Kopieren und Verschieben von Text ausführen. Sie können auch den Cursor positionieren, nach Textzeichenfolgen suchen und den vi-Editor verlassen.
2. Eingabemodus – Im Eingabemodus können Sie Text in eine Datei einfügen. Der vi-Editor interpretiert alles, was Sie im Eingabemodus eingeben, als Text. Um den Eingabemodus aufzurufen, drücken Sie eine der folgenden Kleinbuchstabentasten:
- ich – Fügt Text vor dem Cursor ein
- o – Öffnet eine neue Leerzeile unter dem Cursor
- ein – Fügt Text nach dem Cursor ein
Sie können den Eingabemodus auch aufrufen, um Text in eine Datei einzufügen, indem Sie eine der folgenden Großbuchstabentasten drücken:
- Ich – Fügt Text am Zeilenanfang ein
- O – Öffnet eine neue Leerzeile über dem Cursor
- A – Fügt Text am Ende der Zeile ein
3. Letzte Zeile Modus – Im letzten Zeilenmodus können Sie erweiterte Bearbeitungsbefehle verwenden. Um auf den letzten Zeilenmodus zuzugreifen, geben Sie im Befehlsmodus einen Doppelpunkt (:) ein. Durch Eingabe des Doppelpunkts (:) wird der Cursor in die unterste Zeile des Bildschirms gesetzt.
Hinweis :Der letzte Zeilenmodus ist eigentlich der Ex-Modus. Der vi-Editor ist im Wesentlichen eine visuelle Erweiterung des ex-Editors, der wiederum eine erweiterte Version des ed-Editors ist.Wechseln zwischen den Modi
– Der Standardmodus für den vi-Editor ist der Befehlsmodus.
– Um in den Eingabemodus zu wechseln, drücken Sie i, o oder a.
– Um zum Befehlsmodus zurückzukehren, drücken Sie die Escape-Taste.
– Im Befehlsmodus können Sie die Datei speichern und den vi-Editor verlassen und zum Shell-Prompt zurückkehren.
Anzeigen von Dateien im schreibgeschützten Modus
Mit dem view-Befehl können Sie Dateien im schreibgeschützten Modus anzeigen.
$ view filename
Der Befehl view ruft den vi-Editor mit der schreibgeschützten Option auf, was bedeutet, dass Sie Änderungen an der Datei nicht speichern können. Um beispielsweise die Datei data.txt im schreibgeschützten Modus anzuzeigen, geben Sie den folgenden Befehl ein:
$ view data.txt
Die Datei data.txt wird angezeigt. Geben Sie :q ein Befehl, um die Datei zu verlassen, den vi-Editor zu verlassen und zum Shell-Prompt zurückzukehren.
Bewegen des Cursors im vi-Editor
Die Tabelle zeigt die Tastenfolgen, die den Cursor bewegen.
Tastenfolge | Cursorbewegung |
---|---|
h, Linkspfeil oder Rücktaste | Ein Zeichen verlassen |
j oder Abwärtspfeil | Eine Zeile nach unten |
k oder Aufwärtspfeil | Eine Zeile nach oben |
l, Rechtspfeil oder Leertaste | Ein Zeichen nach rechts (vorwärts) |
w | Ein Wort weiterleiten |
b | Ein Wort zurück |
e | Bis zum Ende des aktuellen Wortes |
$ | Bis zum Zeilenende |
0 (null) | Zum Zeilenanfang |
^ | Bis zum ersten Nicht-Leerzeichen in der Zeile |
Zurück | Nach unten zum Anfang der nächsten Zeile |
G | Geht zur letzten Zeile der Datei |
1G | Geht zur ersten Zeile der Datei |
:n | Geht zu Zeile n |
nG | Geht zu Zeile n |
Strg + F | Blättert einen Bildschirm weiter |
Strg + D | Scrollt einen halben Bildschirm nach unten |
Strg + B | Blättert einen Bildschirm zurück |
Strg + U | Scrollt einen halben Bildschirm nach oben |
Strg + L | Aktualisiert den Bildschirm |
Strg + G | Zeigt aktuelle Pufferinformationen an |
Einfügen und Anhängen von Text
Die Tabelle beschreibt die Befehle zum Einfügen und Anhängen von Text an eine neue oder vorhandene Datei mithilfe des vi-Editors.
Befehl | Funktion |
---|---|
ein | Hängt Text nach dem Cursor an |
A | Hängt Text am Ende der Zeile an |
ich | Fügt Text vor dem Cursor ein |
Ich | Fügt Text am Anfang der Zeile ein |
o | Öffnet eine neue Zeile unter dem Cursor |
O | Öffnet eine neue Zeile über dem Cursor |
:r Dateiname | Fügt Text aus einer anderen Datei in die aktuelle Datei ein |
Befehle zum Löschen von Text
Die Tabelle zeigt Befehle, die Text im vi-Editor löschen.
Befehl | Funktion |
---|---|
R | Überschreibt oder ersetzt Zeichen in der Zeile rechts und rechts vom Cursor. Um diesen Vorgang zu beenden, drücken Sie Escape. |
C | Ändert oder überschreibt Zeichen vom Cursor bis zum Zeilenende |
s | Ersetzt ein Zeichen an der Cursorposition durch eine Zeichenfolge |
x | Löscht ein Zeichen am Cursor |
dw | Löscht ein Wort oder einen Teil des Wortes rechts vom Cursor |
dd | Löscht die Zeile mit dem Cursor |
D | Löscht die Zeile vom Cursor bis zum rechten Zeilenende |
:n,nd | Löscht die Zeilen n -n (z. B. :5,10d löscht die Zeilen 5-10.) |
Mit dem vi-Editor können Sie zahlreiche Befehle zum Bearbeiten von Dateien verwenden. In den folgenden Abschnitten werden grundlegende Vorgänge zum Löschen, Ändern, Ersetzen, Kopieren und Einfügen beschrieben. Denken Sie daran, dass der vi-Editor zwischen Groß- und Kleinschreibung unterscheidet.
Befehle bearbeiten
Die Tabelle beschreibt die Befehle zum Ändern von Text, zum Rückgängigmachen einer Änderung und zum Wiederholen einer Bearbeitungsfunktion im vi-Editor.
Befehl | Funktion |
---|---|
cw | Ändert oder überschreibt Zeichen an der Cursorposition bis zum Ende dieses Wortes |
r | Ersetzt das Zeichen am Cursor durch ein anderes Zeichen |
J | Verbindet die aktuelle Zeile und die Zeile darunter |
xp | Transponiert das Zeichen am Cursor und das Zeichen rechts vom Cursor |
~ | Ändert die Groß-/Kleinschreibung am Cursor | in Groß- oder Kleinschreibung
du | Macht den vorherigen Befehl rückgängig |
U | Macht alle Änderungen an der aktuellen Zeile rückgängig |
. | Wiederholt den vorherigen Befehl |
Suchen und Ersetzen-Befehle
Die Tabelle zeigt die Befehle, die Text im vi-Editor suchen und ersetzen.
Befehl | Funktion |
---|---|
/string | Sucht vorwärts nach der Zeichenkette |
?string | Sucht rückwärts nach der Zeichenfolge |
n | Sucht nach dem nächsten Vorkommen der Zeichenfolge. Verwenden Sie diesen Befehl, nachdem Sie nach einer Zeichenfolge gesucht haben. |
N | Sucht nach dem vorherigen Vorkommen der Zeichenfolge. Verwenden Sie diesen Befehl, nachdem Sie nach einer Zeichenfolge gesucht haben. |
:%s/alt/neu/g | Sucht nach dem alten String und ersetzt ihn global durch den neuen String |
Befehle zum Kopieren und Einfügen
Die Tabelle zeigt die Befehle zum Ausschneiden, Kopieren und Einfügen von Text im vi-Editor.
Befehl | Funktion |
---|---|
jj | Zieht eine Kopie einer Zeile |
p | Fügt entfernten oder gelöschten Text unter die Zeile mit dem Cursor |
P | Fügt entfernten oder gelöschten Text vor die Zeile mit dem Cursor |
:n,n co n | Kopiert die Zeilen n -n und fügt sie nach Zeile n ein (Beispiel::1,3 co 5 kopiert die Zeilen 1-3 und fügt sie nach Zeile 5 ein.) |
:n,n m n | Verschiebt Zeilen n -n zu Zeile n. Beispiel::4,6 m 8 verschiebt die Zeilen 4-6 zu Zeile 8, Zeile 6 wird zu Zeile 8, Zeile 5 wird zu Zeile 7 und Zeile 4 wird zu Zeile 6. |
Befehle zum Speichern und Beenden
Die Tabelle beschreibt die Befehle, die die Textdatei speichern, den vi-Editor verlassen und zum Shell-Prompt zurückkehren.
Befehl | Funktion |
---|---|
:w | Speichert die Datei mit Änderungen durch Schreiben auf die Festplatte |
:w Neuer_Dateiname | Schreibt den Inhalt des Puffers in new_filename |
:wq | Speichert die Datei mit Änderungen und beendet den vi-Editor |
:x | Speichert die Datei mit Änderungen und beendet den vi-Editor |
ZZ | Speichert die Datei mit Änderungen und beendet den vi-Editor |
:q! | Beendet ohne Änderungen zu speichern |
ZQ | Beendet ohne Änderungen zu speichern |
Sitzungsanpassung
Sie können eine vi-Sitzung anpassen, indem Sie Variablen für die Sitzung festlegen. Wenn Sie eine Variable festlegen, aktivieren Sie eine Funktion, die standardmäßig nicht aktiviert ist. Sie können den set-Befehl verwenden, um Variablen zu aktivieren und zu deaktivieren. Zu den Set-Befehlsvariablen gehören die Anzeige von Zeilennummern und unsichtbaren Zeichen, wie z. B. das Tabulatorzeichen und die Zeilenendezeichen.
Führen Sie die folgenden Schritte aus, um eine automatische Anpassung für alle Ihre vi-Sitzungen zu erstellen:
- Erstellen Sie eine Datei namens .exrc in Ihrem Home-Verzeichnis.
- Geben Sie eine der gesetzten Variablen in die .exrc-Datei ein.
- Geben Sie jede Set-Variable ohne vorangestellten Doppelpunkt ein.
- Geben Sie jeden Befehl in einer Zeile ein.
Der vi-Editor liest die .exrc-Datei, die sich in Ihrem Home-Verzeichnis befindet, jedes Mal, wenn Sie eine vi-Sitzung öffnen, unabhängig von Ihrem aktuellen Arbeitsverzeichnis.
Hinweis:Dieselben Schritte gelten für das Anpassen einer Sitzung im Vim-Editor. Abgesehen davon, dass Sie anstelle einer .exrc-Datei eine .vimrc-Datei erstellen müssen Datei.Sitzungsanpassungsbefehle
Die Tabelle beschreibt einige der Variablen der Menge Befehl.
Befehl | Funktion |
---|---|
:set nu | Zeigt Zeilennummern |
:Nonu setzen | Zeilennummern verbergen |
:Setze ic | Weist Suchen an, Groß- und Kleinschreibung zu ignorieren |
:set noic | Weist bei Suchen auf Groß- und Kleinschreibung zu achten |
:set noic | Zeigt unsichtbare Zeichen an, z. B. ^I für einen Tabulator und $ für Zeilenendezeichen |
:nolist setzen | Schaltet die Anzeige unsichtbarer Zeichen aus |
:Showmodus einstellen | Zeigt den aktuellen Betriebsmodus an |
:Noshowmodus einstellen | Schaltet die Betriebsmodusanzeige aus |
:set | Zeigt alle gesetzten vi-Variablen an |
:alle setzen | Zeigt alle vi-Variablen und ihre aktuellen Werte an |