Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Zusammenfassung und Freigabe von vi in ​​Linux-Befehlen (Sammlung)

Zusammenfassung und Freigabe von vi in ​​Linux-Befehlen (Sammlung)

黄舟
黄舟Original
2017-07-24 15:02:511995Durchsuche

In diesem Artikel wird hauptsächlich die detaillierte Anordnung (Zusammenfassung) der Linux-Dateibearbeitungsbefehle vorgestellt. Der Herausgeber findet ihn recht gut, daher werde ich ihn jetzt mit Ihnen teilen und als Referenz verwenden. Folgen wir dem Editor, um einen Blick darauf zu werfen

Ich bin neu bei Linux und habe mich vor ein paar Tagen für das Ubuntu-System entschieden, das ich benötige um die Datei zu bearbeiten.

vi-Befehl zum Bearbeiten der Datei. Ich habe auf Baidu gesucht und viele der Antworten waren nicht sehr umfassend, sodass das Bearbeiten der Datei einige Zeit in Anspruch nahm.

Hier hat der Blogger es zusammengestellt und mit allen geteilt.

1. Der vi-Editor verfügt über drei grundlegende Arbeitsmodi

Zunächst müssen Sie wissen, dass der vi-Editor über drei grundlegende Arbeitsmodi verfügt Modi, nämlich: Befehlsmodus, Texteingabemodus und Modus für die letzte Zeile.

Erstens: Befehlszeilenmodus: Dieser Modus ist der Standardmodus nach dem Aufrufen des vi-Editors. Unabhängig davon, in welchem ​​Modus sich der Benutzer befindet, kann jederzeit durch Drücken der ESC-Taste in den Befehlsmodus gewechselt werden. In diesem Modus können Benutzer vi-Befehle eingeben und ihre eigenen Dokumente verwalten. Alle zu diesem Zeitpunkt über die Tastatur eingegebenen Zeichen werden als Bearbeitungsbefehle interpretiert. Wenn es sich bei den eingegebenen Zeichen um zulässige vi-Befehle handelt, führt vi nach Annahme des Benutzerbefehls die entsprechende Aktion aus. Es ist jedoch zu beachten, dass die eingegebenen Befehle nicht auf dem Bildschirm wiedergegeben werden. Wenn es sich bei den eingegebenen Zeichen nicht um vi-Befehle handelt, schlägt vi Alarm.

Zweitens: Texteingabemodus: Geben Sie im Befehlsmodus den Befehl i ein, hängen Sie den Befehl a an, öffnen Sie den Befehl o, ändern Sie den Befehl c, ersetzen Sie den Befehl r oder ersetzen Sie den Befehl s, um in den Texteingabemodus zu gelangen. In diesem Modus werden alle vom Benutzer eingegebenen Zeichen durch vi als Dateiinhalt geschützt und auf dem Bildschirm angezeigt. Wenn Sie während der Texteingabe zum Befehlsmodus zurückkehren möchten, drücken Sie einfach die ESC-Taste.

Drittens: Last-Line-Modus: Der Last-Line-Modus wird auch Ex-Escape-Modus genannt. Im Befehlsmodus drückt der Benutzer die Taste „:“, um in den Modus „Letzte Zeile“ zu gelangen. Zu diesem Zeitpunkt zeigt vi in ​​der letzten Zeile des Anzeigefensters (normalerweise in der letzten Zeile des Bildschirms) ein „:“ als Spezifizierer an des letzten Zeilenmodus. Warten Sie, bis der Benutzer einen Befehl eingibt. Die meisten Dateiverwaltungsbefehle werden in diesem Modus ausgeführt (z. B. das Schreiben des Inhalts des Bearbeitungspuffers in eine Datei usw.). Nachdem der letzte Befehl ausgeführt wurde, kehrt vi automatisch in den Befehlsmodus zurück. Wenn Sie vom Befehlsmodus in den Bearbeitungsmodus wechseln möchten, können Sie a oder i eingeben. Wenn Sie aus dem Textmodus zurückkehren müssen, drücken Sie einfach ESC. Geben Sie im Befehlsmodus „:“ ein, um in den letzten Zeilenmodus zu wechseln, und geben Sie dann den Befehl ein.

Zusammenfassend lässt sich sagen, dass wir im Allgemeinen in den Befehlsmodus wechseln, wenn wir einen Befehl zum Öffnen einer Datei verwenden. Im Befehlsmodus können Sie in den Texteingabemodus und den Letzte-Zeile-Modus wechseln, aber der Texteingabemodus und der Letzte-Zeile-Modus können nicht direkt zueinander umgeschaltet werden. Um den Texteingabemodus in den Letzte-Zeile-Modus zu wechseln, müssen Sie daher zum Befehl zurückkehren Wechseln Sie zuerst wieder in den Modus und umgekehrt.

Darüber hinaus können Sie den Text im Texteingabemodus per Tastatureingabe bearbeiten oder den Befehl vi im Befehlsmodus verwenden, um den Bearbeitungseffekt zu erzielen.

Beispieldemonstration

Zuerst verwenden wir den Befehl vi filename, um eine Datei zu öffnen. Zu diesem Zeitpunkt gelangen wir in den Befehlsmodus

Als nächstes Wir drücken i und geben dann auf der Tastatur ein, was Sie wollen.

Drücken Sie dann ESC, um wieder in den Befehlsmodus zu gelangen.

Im Befehlsmodus drücken wir:, um in den letzten Zeilenmodus zu gelangen.

Wir geben wq! ein und drücken dann die Eingabetaste, um das Speichern und Beenden zu erzwingen.

Wenn wir das nächste Mal die entsprechende Datei öffnen (kann mit dem Befehl „less filename“ geöffnet werden), werden wir feststellen, dass der Inhalt geändert wurde.

Ergänzung:

(1) Im letzten Zeilenmodus: q! [Zum Beenden ohne Speichern erzwingen] q [Beenden ohne Speichern] wq [Beenden und speichern, Sie können auch hinzufügen eins nach dem anderen! ]

(2) Wenn Sie nicht direkt speichern und beenden möchten, können Sie im Befehlsmodus die Tastenkombination „Strg+Z“ verwenden oder die Umschalttaste gedrückt halten und zwei eingeben z's zum Beenden.

Weitere Befehle

Befehle zur Eingabe von vi

vi-Dateiname: Öffnen oder erstellen Sie eine neue Datei und put Platziere den Cursor am Anfang der ersten Zeile
vi +n Dateiname: Öffne die Datei und platziere den Cursor am Anfang der n-ten Zeile
vi + Dateiname: Öffne die Datei und platziere den Cursor am Anfang der letzten Zeile
vi + /pattern Dateiname: Öffnen Sie die Datei und platzieren Sie den Cursor auf der ersten Zeichenfolge, die mit dem Muster übereinstimmt
vi -r Dateiname: Das System ist beim letzten Bearbeiten mit vi abgestürzt, Dateiname wiederherstellen
vi Dateiname…. Dateiname: Mehrere Dateien öffnen und nacheinander bearbeiten

Bildschirm-Bildlaufbefehle

Strg+u: Den halben Bildschirm zum Anfang scrollen Datei
Strg+d: Einen halben Bildschirm bis zum Ende der Datei scrollen
Strg+f: Einen Bildschirm bis zum Ende der Datei scrollen
Strg+b; Einen Bildschirm an den Anfang der Datei scrollen
nz: Scrollt die n-te Zeile an den oberen Bildschirmrand, wenn n nicht angegeben ist. Scrollt die aktuelle Zeile an den oberen Bildschirmrand.

Textbefehle einfügen

i: vor dem Cursor
I: am Anfang der aktuellen Zeile
a: nach dem Cursor
A: am Ende der aktuellen Zeile
o: öffnet eine neue Zeile darunter die aktuelle Zeile
O: Öffnet eine neue Zeile über der aktuellen Zeile
r: Ersetzt das aktuelle Zeichen
R: Ersetzt das aktuelle Zeichen und die Zeichen danach, bis die ESC-Taste gedrückt wird
s: Geben Sie ausgehend von der aktuellen Cursorposition den Text ein, der die angegebene Anzahl von Zeichen ersetzt
S: Löschen Sie die angegebene Anzahl von Zeilen und ersetzen Sie sie durch den eingegebenen Text
ncw oder nCW: Ändern Sie die angegebene Anzahl von Zeichen
nCC: Ändern Sie die angegebene Anzahl von Zeilen

Löschbefehl

ndw oder ndW: Löschen Sie die n-1 Wörter, die am Cursor beginnen und darauf folgen
do: Bis zum Anfang der Zeile löschen
d$: Bis zum Ende der Zeile löschen
ndd: Die aktuelle Zeile und n-1 Zeilen danach löschen
x oder X: Ein Zeichen löschen, x löscht den Text nach dem Cursor und löscht den im Eingabemodus eingegebenen Text

Such- und Ersetzungsbefehl

/Muster: Nach Muster suchen

?Muster vom Anfang des Cursors bis zum Ende der Datei: Suche nach Muster vom Anfang des Cursors bis zum Anfang der Datei
n: Wiederholen Sie den letzten Suchbefehl in derselben Richtung
N: Wiederholen Sie den letzten Suchbefehl in die entgegengesetzte Richtung
: s/p1/p2/g: Ändern Sie das aktuelle Ersetzen Sie alle p1 in der Zeile durch p2
: n1,n2s/p1/p2/g: Ersetzen Sie alle p1 in die Zeile n1 bis n2 mit p2
: g/p1/s//p2/g: Ersetzen Sie alle p1 in der Datei durch p2

Optionseinstellungen

Alle: Alle Optionseinstellungen auflisten

Begriff: Terminaltyp festlegen
Ignoranz: Groß-/Kleinschreibung bei Suchanfragen ignorieren
Liste: Tabstopps (Strg+I) und Zeilenende-Flags ($) anzeigen
Nummer: Zeilennummern anzeigen
Bericht: Änderungen durch zeilenorientierte Befehle anzeigen Anzahl der Durchgänge
knapp: Kurze Warnmeldung anzeigen
Warnung: KEINE Schreibmeldung anzeigen, wenn die aktuelle Datei nicht gespeichert ist beim Wechseln zu einer anderen Datei
nomagic: Im Suchmodus zulassen, ohne vorangestellte „“ Sonderzeichen verwenden
nowrapscan: verhindert, dass vi am anderen Ende beginnt, wenn die Suche beide Enden der Datei erreicht
mesg: erlaubt vi, um Informationen anzuzeigen, die von anderen Benutzern mit write auf ihre eigenen Terminals geschrieben wurden

Letzter Zeilenmodus-Befehl

: n1, n2 co n3: Kopieren Sie den Inhalt zwischen Zeilen n1 bis n2 in die n3. Zeile

: n1, n2 m n3: Verschiebe den Inhalt zwischen den Zeilen n1 bis n2 in die n3. Zeile
: n1,n2 d: Lösche den Inhalt zwischen den Zeilen n1 bis n2
: w: Aktuelle Datei speichern
: e Dateiname: Datei Dateiname zum Bearbeiten öffnen
: x: Aktuelle Datei speichern und beenden
: q: vi beenden
: q!: Nicht speichern Datei und beenden vi
: !command: Shell-Befehl ausführen command
: n1, n2 w!command: Verwenden Sie den Inhalt der Zeilen n1 bis n2 in der Datei als Eingabe des Befehls und führen Sie ihn aus Wird nicht angegeben, bedeutet dies, dass der gesamte Dateiinhalt als Eingabe des Befehls
verwendet wird: r!command: Geben Sie das Ausgabeergebnis des Befehls command in die aktuelle Zeile ein

Vorgang registrieren

"?nyy: Die aktuelle Zeile und die folgenden Inhalte in ein Register speichern? , wobei ? ein Buchstabe ist, n eine Zahl

"?nyw: Aktuelle Zeile und die nächsten n Wörter im Register speichern?, wobei ? ein Buchstabe ist, n eine Zahl
"?nyl : Speichern die aktuelle Zeile und ihre nächsten n Zeichen in ein Register? , wobei ? ein Buchstabe und n eine Zahl ist
"?p: Nehmen Sie den Inhalt des Registers heraus? und platzieren Sie ihn an der Cursorposition. Hier kann ein Buchstabe oder eine Zahl sein
ndd : Löschen Sie die aktuelle Zeile und n Textzeilen darunter und fügen Sie den gelöschten Inhalt in das Löschregister Nr. 1 ein.

Das obige ist der detaillierte Inhalt vonZusammenfassung und Freigabe von vi in ​​Linux-Befehlen (Sammlung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn