Drei Betriebsmodi von Vi
Normalmodus, auch als Befehlsmodus bekannt
Einfügemodus
Befehlszeilenmodus (cmdline)
Nach der Eingabe von Vi gelangen Sie zunächst in den Normalmodus und warten auf die Eingabe des Bearbeitungsbefehls, d. h. die zu diesem Zeitpunkt eingegebenen Buchstaben werden als Befehle interpretiert.
Geben Sie im normalen Modus den Einfügebefehl i ein, fügen Sie den Befehl a an, öffnen Sie den Befehl o usw., um in den Einfügemodus zu gelangen. Alle vom Benutzer im Einfügemodus eingegebenen Zeichen werden von Vi als Dateiinhalt gespeichert und auf dem Bildschirm angezeigt. Drücken Sie während der Texteingabe die Esc-Taste, um zum Normalmodus zurückzukehren.
Verwenden Sie im normalen Modus: zum Ausführen von Ex-Befehlen, verwenden Sie ? und / zum Suchen und verwenden Sie !, um Shell-Befehle aufzurufen. Nachdem die letzte Befehlszeile ausgeführt wurde, kehrt Vi automatisch in den Normalmodus zurück.
1. Operationen im Normalmodus
Einfügemodus aufrufen
i Vor dem Cursor einfügen I Am Anfang der Cursorzeile einfügen
a Nach dem Cursor A einfügen Am Ende der Cursorzeile einfügen
o Fügen Sie eine Zeile unter der Zeile ein, in der sich der Cursor befindet, und fügen Sie
O am Anfang der Zeile ein. Fügen Sie eine Zeile über der Zeile ein, in der sich der Cursor befindet, und fügen Sie
Kopieren und Einfügen
yy Kopieren Sie die aktuelle Zeile in den Puffer
nyy Kopieren Sie die aktuelle Startnummer Zeilen in den Puffer
yG Kopieren Sie die Zeile vom Cursor bis zur letzten Zeile in den Pufferbereich
Suchzeichenfolge
/str Nach rechts verschieben, wo str
?str Nach links verschieben, dorthin, wo str ist str
n In die gleiche Richtung bewegen
Rückgängig machen und wiederholen
U Die Wirkung des Vorherigen aufheben Fehlbedienung oder unangemessene Operation an der Datei
Führen Sie einen gerade abgeschlossenen Befehl erneut aus
Beenden Vi
ZZ Speichern und beenden
ZQ Beenden ohne Speichern
2. Operationen im Befehlszeilenmodus
:n Zu Zeile n springen
Suchen und Ersetzen von Zeichenfolgen
:/STR/bewegen w-Datei Schreiben Sie den Inhalt von str1 bis zum Ende von str2 in die Datei file
:s/str1/str2/ Ersetzen Sie den ersten gefundenen str1 durch str2
:1,.s/str1/str2/g Ersetze alle str1 von Zeile 1 bis zum aktuelle Zeile durch str2 Ersetzen Sie alle str1 bis zur letzten Zeile durch str2
:%s/str1/str2/g und ersetzen Sie alle str1 durch Ersetzen Sie alle str1 bis zur letzten Zeile durch str2 und fragen Sie, bevor Sie
ersetzen:12,23s/^/#/ Fügen Sie #
vor den Zeilen 12–23 hinzu:%s= *$== Alle zusätzlichen Leerzeichen am Ende der Zeile löschen
:g/^s*$/d Alle leeren Zeilen löschen, die keine Zeichen (einschließlich Leerzeichen) enthalten
Kopieren, verschieben und löschen Sie Text
:n1,n2 co n3 Kopieren Sie die Zeilen n1 bis n2 auf die Rückseite von n3
:n1,n2 m N3 Verschiebung Zeile N1 zu Zeile N2 an der Rückseite von N3
: D Löschen Sie die aktuelle Zeile
: nd logue 🎜>: n1, n2 d 到 到 Wealthune in 🎜>
: .,$d:/str1/ ,/str2/d loggene in in inedoid people | :w Speichern Sie den aktuell bearbeiteten Inhalt auf der Festplatte
:w-Datei Der aktuell bearbeitete Inhalt wird in die Datei
:n1,n2w file geschrieben. In die Datei
Shell-Befehl ausführen
: !Cmd Dies ist die Eingabe des Cmd-Befehls. Wenn keine Zeile angegeben ist, wird die gesamte Datei als Eingabe von Cmd verwendet
:r !Cmd Schreiben Sie das Ergebnis der Befehlsausführung in die nächste Zeile des Zeile, in der sich der Cursor befindet (der Befehl darf kein Alias sein)
Vi-Umgebung festlegen
:set autoindent Auto indent
:set noautoindent Automatische Einrückung abbrechen
:set number Zeilennummern beim Bearbeiten von Dateien anzeigen
:set nonumber
:set lineal Generierung in der Zeilen- und Spaltenposition
:set tabstop=value Setzen Sie die Anzahl der Leerzeichen zur Anzeige von Tabulatorzeichen
:set wrapmargin=value Legen Sie den rechten Seitenrand der Anzeige fest. Wenn die Eingabe den festgelegten Seitenrand erreicht, führt der Editor automatisch Wagenrückläufe und Zeilenvorschübe aus Kanalgenerierung: Alles einstellen >
Vi beenden
:q Beenden
:qw Speichern und beenden
:q! Beenden ohne Speichern