English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Linux vi/vim

Alle Unix-ähnlichen Systeme enthalten den vi-Texteditor, andere Textverarbeitungsprogramme sind möglicherweise nicht vorhanden.

Aber zurzeit verwenden wir hauptsächlich den Vim-Editor.

Vim hat die Fähigkeit, Programme zu bearbeiten, kann aktiv grammatikalische Richtigkeit durch Farben erkennen und ist bequem für die Programmgestaltung.

Verwandte Artikel:Das umfassendste Vim-Tastaturdiagramm - Von Anfänger bis Fortgeschrittener

Was ist Vim?

Vim ist ein Texteditor, der aus vi entwickelt wurde. Es verfügt über viele bequeme Funktionen für die Programmierung wie Code-Vervollständigung, Kompilierung und Fehler-Sprung, die in der breiten Nutzung der Programmierer weit verbreitet sind.

Kurz gesagt, vi ist ein altes Textverarbeitungsprogramm, das aber bereits sehr umfassend ist, aber es gibt auch Orte zum Verbessern. Vim kann als ein sehr nützliches Werkzeug für Programmierer betrachtet werden.

Verbinden Sie mit der offiziellen Website von vim (http://www.vim.org) Ich sage auch, Vim ist ein Programmierwerkzeug und nicht ein Textverarbeitungsprogramm.

Vim-Tastaturdiagramm:

vi/Vim-Benutzung

Grundsätzlich vi/Vim ist in drei Modi unterteilt, nämlichKommandomodus (Command mode),Eingabemodus (Insert mode)undZeilenkommandomodus (Last line mode). Diese drei Modi haben folgende Funktionen:

Kommandomodus:

Der Benutzer hat gerade vi gestartet/vim, um in den Kommandomodus zu gelangen.

In diesem Zustand werden Tastendrücke von Vim als Befehle und nicht als Eingabezeichen erkannt. Zum Beispiel wird, wenn wir jetzt 'i' drücken, kein Zeichen eingegeben, 'i' wird als Befehl betrachtet.

Hier sind einige häufig verwendete Befehle:

  • i Wechseln Sie in den Eingabemodus, um Zeichen einzugeben.

  • x Löschen des Zeichens am aktuellen Cursorstandort.

  • : Wechseln Sie in den Zeilenkommandomodus, um Befehle in der untersten Zeile einzugeben.

Um Text zu bearbeiten: Starten Sie Vim, wechseln Sie in den Kommandomodus, drücken Sie 'i', um in den Eingabemodus zu wechseln.

Im Kommandomodus gibt es nur einige grundlegende Befehle, daher muss auf den Zeilenkommandomodus zurückgegriffen werden, um mehr Befehle einzugeben.

Eingabemodus

In Kommandomodus wird durch Drücken von 'i' der Eingabemodus erreicht.

Im Eingabemodus können Sie die folgenden Tasten verwenden:

  • Zeichentasten und Shift-KombinationenZeichen

  • EINGABEENTER

  • BACK SPACEDELETE

  • BACK SPACEDEL

  • PfeiltastenBewegen Sie den Cursor im Text

  • HOME/ENDBewegen Sie den Cursor an den Anfang der Zeile/Zeilenende

  • Page Up/Page DownSeite hoch/Page Down

  • InsertWechseln Sie den Cursor in den Eingabemodus/Ersatzmodus, der Cursor wird in eine waagerechte Linie umgewandelt/Unterstrich

  • ESCVerlassen Sie den Eingabemodus und wechseln Sie in den Befehlsmodus

Unterbrechungsmodus

Drücken Sie : (Englischer Punkt und Strich) im Befehlsmodus, um in den Unterbrechungsmodus einzutreten.

Der Unterbrechungsmodus kann Befehle aus einem oder mehreren Zeichen eingeben, es gibt viele verfügbare Befehle.

In der Unterbrechungsmodus gibt es grundlegende Befehle (Punkt und Komma wurde weggelassen):

  • q Programm beenden

  • w Datei speichern

Drücken Sie die ESC-Taste, um jederzeit aus dem Unterbrechungsmodus herauszugehen.

Kurz gesagt, wir können diese drei Modi mit den folgenden Symbolen darstellen:

vi/vim Beispiel

Verwenden Sie vi/vim in den Normalmodus wechseln

Wenn Sie mit vi eine Datei namens w erstellen möchten3Wenn Sie die Datei codebox.txt bearbeiten möchten, können Sie dies so tun:

$ vim w3codebox.txt

Geben Sie direkt ein vi Dateiname können Sie in den Normalmodus von vi eintreten. Bitte beachten Sie, dass nach vi immer der Dateiname angegeben werden muss, egal ob die Datei existiert oder nicht!

Drücken Sie i, um in den Eingabemodus (auch als Bearbeitungsmodus bezeichnet) einzutreten und mit der Textbearbeitung zu beginnen

Im Normalmodus können Sie einfach i, o, a und andere Zeichen drücken, um in den Eingabemodus zu gelangen!

Im Bearbeitungsmodus können Sie feststellen, dass – INSERT im unteren linken Statusleiste erscheint- der Art, ist dies ein Hinweis darauf, dass Sie beliebige Zeichen eingeben können.

Zu diesem Zeitpunkt,außer Esc Außer dieser Taste können alle anderen Tasten als gewöhnliche Eingabetasten betrachtet werden, daher können Sie jede Art von Bearbeitung durchführen.

Drücken Sie den ESC-Taste, um in den Normalmodus zurückzukehren

Gut,angenommen,ich habe ihn wie oben beschrieben bearbeitet, dann wie soll ich aussteigen? Ja! Richtig! Es geht darum, ihm Esc diesen Knopf! Sofort werden Sie feststellen, dass das – INSERT – in der linken unteren Ecke des Bildschirms verschwunden ist!

Drücken Sie im Normalmodus :wq Speichern und verlassen Sie vi

OK, wir müssen abspeichern, und der Befehl zum Speichern und Verlassen ist einfach, geben Sie ein :wq kann gespeichert und verlassen werden!

OK! Auf diese Weise haben wir erfolgreich eine w erstellt3Datei codebox.txt.

vi/vim Tastenbeschreibung

Abgesehen von den einfachen Beispielen i, Esc, :wq gibt es in vim viele weitere Tasten, die verwendet werden können.

Teil 1: Allgemeine Modus-Befehle für Cursorbewegungen, Kopieren und Einfügen, Suchen und Ersetzen und andere

Methode zum Bewegen des Cursors
h oder die Pfeiltaste nach links (←)Bewegen Sie den Cursor um ein Zeichen nach links
j oder die Pfeiltaste nach unten (↓)Bewegen Sie den Cursor um ein Zeichen nach unten
k oder die Pfeiltaste nach oben (↑)Bewegen Sie den Cursor um ein Zeichen nach oben
l oder die Pfeiltaste nach rechts (→)Bewegen Sie den Cursor um ein Zeichen nach rechts
Wenn Sie Ihre rechte Hand auf die Tastatur legen, werden Sie feststellen, dass hjkl nebeneinander angeordnet sind, daher können Sie diese vier Tasten verwenden, um den Cursor zu bewegen. Wenn Sie mehrere Male bewegen möchten, zum Beispiel nach unten bewegen 30 Zeilen, Sie können "30j" oder "3Die Kombinationstaste 0↓" Das bedeutet, dass Sie die Anzahl der Wiedergaben (Zahl) hinzufügen und die Aktion nach dem Drücken ausführen können!
[Ctrl] + [f]Bewegen Sie den Bildschirm "nach unten" um eine Seite, was der Taste [Page Down] entspricht (Widely Used)
[Ctrl] + [b]Bewegen Sie den Bildschirm "nach oben" um eine Seite, was der Taste [Page Up] entspricht (Widely Used)
[Ctrl] + [d]Bewegen Sie den Bildschirm "nach unten" um eine halbe Seite
[Ctrl] + [u]Bewegen Sie den Bildschirm "nach oben" um eine halbe Seite
+Bewegen Sie den Cursor zur Zeile unter dem Leerzeichen
-Bewegen Sie den Cursor zur Zeile über dem Leerzeichen
n<Leertaste>Diese Zahl "n" bedeutet "Zahl", zum Beispiel 20 . Drücken Sie nach der Zahl die Leertaste, der Cursor bewegt sich nach rechts um die n Zeichen. Zum Beispiel 20<Leertaste> bewegt den Cursor nach hinten 20 Zeichenentfernung.
0 oder die Funktionstaste [Home]Das ist die Zahl "0": Bewegen Sie sich zum ersten Zeichen dieser Zeile (Widely Used)
$ oder die Funktionstaste [Ende]Bewegen Sie sich zum letzten Zeichen dieser Zeile (häufig verwendet)
HBewegen Sie den Cursor zum ersten Zeichen der obersten Zeile dieses Bildschirms
MBewegen Sie den Cursor zum ersten Zeichen der mittleren Zeile dieses Bildschirms
LBewegen Sie den Cursor zum ersten Zeichen der untersten Zeile dieses Bildschirms
GBewegen Sie sich zu der letzten Zeile dieses Dokuments (häufig verwendet)
nGn ist eine Zahl. Bewegen Sie sich zu der n-ten Zeile dieses Dokuments. Zum Beispiel 20G bewegt sich zu der ersten Zeile dieses Dokuments 20 Zeile (kann mit :set nu kombiniert werden)
ggBewegen Sie sich zu der ersten Zeile dieses Dokuments, was dementsprechend 1G ah! (Widely Used)
n<Enter>n ist eine Zahl. Der Cursor bewegt sich n Zeilen nach unten (häufig verwendet)
Suchen und Ersetzen
/wordSuchen Sie nach einem String mit dem Namen "word" unterhalb des Cursor. Zum Beispiel, um im Archiv "vbird" zu suchen Diese Zeichenkette, geben Sie /vbird! (Widely Used)
?wordSuchen Sie nach einem String mit dem Namen "word" oberhalb des Cursor.
nDiese Taste "n" ist eine englische Taste. Sie bedeutet die Wiederholung der vorherigen Suchaktion. Zum Beispiel Wenn wir gerade ausgeführt haben /Suchen Sie nach dem String "vbird" im Nachfolgenden, drücken Sie nach dem Drücken von "n", um weiter nach dem nächsten Namen "vbird" zu suchen der Zeichenfolge. Wenn ?vbird ausgeführt wird, wird durch Drücken von n die Suche nach der Zeichenfolge vbird fortgesetzt!
Ndieses N ist der englische Tastendruck. Im Gegensatz zu n wird 'rückwärts' das vorherige Suchen durchgeführt. Zum Beispiel /vbird und drücken Sie N, um 'hoch' zu suchen vbird.
Verwenden Sie /word zusammen mit n und N ist sehr nützlich! Es ermöglicht Ihnen, wiederholte Suchbegriffe zu finden!
:n1,n2s/word1/word2/gn1 und n2 ist eine Zahl. In der n1 und n2 Zeilen suchen word1 diese Zeichenfolge und ersetzen Sie diese durch word2 Beispiel dazu, in 100 bis 200 Zeilen suchen vbird und ersetzen durch VBIRD, dann:
『:100,200s/vbird/VBIRD/g』。(häufig verwendet)
:1$s/word1/word2/g oder :%s/word1/word2/gVon der ersten bis zur letzten Zeile suchen word1 Zeichenfolge und ersetzen Sie diese durch word2 !(häufig verwendet)
:1$s/word1/word2/gc oder :%s/word1/word2/gcVon der ersten bis zur letzten Zeile suchen word1 Zeichenfolge und ersetzen Sie diese durch word2 und zeigt vor dem Ersatz einen Hinweis an den Benutzer zur Bestätigung (bestätigen) Möchten Sie ersetzen? (häufig verwendet)
Löschen, Kopieren und Einfügen
x, XIn einer Zeile, x löscht ein Zeichen nach hinten (entspricht [del], also der Löschtaste), X löscht ein Zeichen nach vorne (entspricht [backspace], also dem Rückwärtspfeiltaste) (Widely Used)
nxn ist eine Zahl, löschen Sie n Zeichen hintereinander. Zum Beispiel, ich möchte hintereinander löschen 10 e Zeichen, 『10x』。
ddLöschen Sie die aktuelle Zeile (häufig verwendet)
nddn ist eine Zahl. Löschen Sie die n Zeilen unter den Cursor, zum Beispiel 20dd ist das Löschen 20 Zeilen (Widely Used)
d1GLöschen Sie den Cursor bis zur ersten Zeile
dGLöschen Sie den Cursor bis zur letzten Zeile
d$Löschen Sie den Cursor am Anfang der aktuellen Zeile bis zum Ende der Zeile
d0Das ist die Zahl 0, löschen Sie den Cursor am Anfang der aktuellen Zeile
yyKopieren Sie die aktuelle Zeile (häufig verwendet)
nyyn ist eine Zahl. Kopieren Sie die n Zeilen unter den Cursor, zum Beispiel 20yy ist das Kopieren 20 Zeile (häufig verwendet)
y1GKopieren Sie die aktuelle Zeile bis zur ersten Zeile
yGKopieren Sie die aktuelle Zeile bis zur letzten Zeile
y0Kopieren Sie den Zeichencode am Cursor an den Anfang der aktuellen Zeile
y$Kopieren Sie den Zeichencode am Cursor an das Ende der aktuellen Zeile
p, Pp bedeutet, die kopierten Daten unter den Cursor zu setzen, P bedeutet, sie über den Cursor zu setzen! Zum Beispiel, der Cursor befindet sich derzeit in der 20 Zeilen und wurde bereits kopiert 10 Daten. Nach dem Drücken von p, das 10 Zeile-Daten werden in den ursprünglichen 20 Zeile nach der 21 Zeile zu fügen. Aber was passiert, wenn Sie P drücken? Daher beginnt die ursprüngliche 20 Zeile wird nach hinten geschoben und wird 30 Zeile. (Widely Used)
JKombinieren des Textes der aktuellen und der nächsten Zeile zu einer Zeile
cMehrfache Löschung mehrerer Daten, z.B. nach unten lösen 10 Zeile, [ 10cj ]
uWiederherstellen der vorherigen Aktion (häufig verwendet)
[Ctrl]+rWiederherstellen der vorherigen Aktion (häufig verwendet)
Diese u mit [Ctrl]+r ist ein sehr häufig verwendetes Kommando! Einmal ist es die Wiederherstellung und das andere ist das Wiederaufnehmen. Mit diesen beiden Funktionstasten wird Ihr Bearbeiten, hehe! sehr glücklich!
.Keine Zweifel! Das ist der Punkt! Es bedeutet, dass die vorherige Aktion wiederholt wird. Wenn Sie wiederholte Lösch- oder wiederholte Einfügungen usw. durchführen möchten, drücken Sie den Punkt ».! (Widely Used)

Zweiter Teil: Erklärung der verfügbaren Tasten zur Umschaltung von der normalen Modus in den Bearbeitungsmodus

Eingang ins Bearbeitungs-oder Ersatz-Modus
i, IEingang ins Eingabe-Modus (Insert mode):
i bedeutet 'von der aktuellen Position eingeben', I bedeutet 'von dem ersten nicht-leeren Zeichen der aktuellen Zeile an eingeben'. (Widely Used)
a, AEingang ins Eingabe-Modus (Insert mode):
a bedeutet 'von dem nächsten Zeichen des Cursors an eingeben', A bedeutet 'von dem letzten Zeichen der aktuellen Zeile an eingeben'. Häufig verwendet
o, OEingang ins Eingabe-Modus (Insert mode):
Das ist der Großbuchstabe o. o gibt ein neues Zeile unter dem aktuellen Cursor ein; O gibt ein neues Zeile über dem aktuellen Cursor ein! Häufig verwendet
r, REingang ins Ersatz-Modus (Replace mode):
r ersetzt nur den einen Zeichensatz am Cursor; R ersetzt den Text am Cursor, bis auf ESC); häufig verwendet
Diese Tasten erscheinen im unteren linken Bereich des vi-Bildschirms, "--INSERT--』oder『--REPLACE--der Text "』" ist. Der Name sagt schon alles über diese Aktion aus! Besonders zu beachten ist, dass wir oben auch erwähnt haben, dass Sie Sie müssen unbedingt INSERT oder REPLACE im unteren linken Ecke sehen, um eingeben zu können!
[Esc]Verlassen des Bearbeitungsmodus und Rückkehr zum normalen Modus (häufig)

Dritter Teil: Erklärung der verfügbaren Tasten zur Umschaltung von der normalen Modus in den Befehlszeilenmodus

Anweisungszeilen-Speicherung, Verlassen und andere Anweisungen
:wSchreiben der bearbeiteten Daten in die Festplatten-Datei (häufig)
:w!Wenn die Datei-Attribute 'nur Lesen' sind, wird die Datei zwangsweise beschrieben. Aber ob man schreiben kann, Das hat auch damit zu tun, dass die Datei-Rechte der Datei!
:qVerlassen von vi (häufig)
:q!Wenn Sie eine Datei geändert haben und nicht speichern möchten, verwenden Sie !, um zwangsweise ohne Speichern zu verlassen.
Achtung, der Ausruf (!) hat in vi oft die Bedeutung von 'zwangsweise'.
:wqSpeichern und verlassen, wenn :wq! dann wird zwangsweise gespeichert und verlassen (Widely Used)
ZZDas ist der große B Buchstabe Z! Wenn Sie geändert haben, speichern Sie die aktuelle Datei und beenden Sie, dann ist der Effekt
ZQNicht speichern, zwangsweise beenden. Effekt gleich :q!.
:w [filename]Die bearbeiteten Daten werden in eine andere Datei gespeichert (ähnlich dem Speichern unter)
:r [filename]In den zu bearbeitenden Daten wird die Daten eines anderen Archives gelesen. Das bedeutet, dass Diese Dateiinhalt wird hinten der Cursorposition hinzugefügt
:n1,n2 w [filename]N1 bis n2 Inhalte werden in die Datei filename gespeichert.
:! commandTemporär aus vi in den Befehlszeilenmodus wechseln, um die Anzeigergebnisse von command auszuführen! Zum Beispiel
『:! ls /home』kann man in vi ansehen /Unter home mit ls ausgegebene Dateiinformationen!
Änderungen im vim-Umfeld
:set nuZeilennummern anzeigen, nach der Einstellung wird die Zeilennummer am Präfix jeder Zeile angezeigt
:set nonuGanz anders als mit set nu, um die Zeilennummern abzuschalten!

Besondere Aufmerksamkeit sollte darauf gelegt werden, in vi/in vim sind die Zahlen sehr bedeutend! Die Zahlen stellen in der Regel wiederholte Aktionen dar! Es kann auch bedeuten, zum n-ten was auch immer zu gelangen.

Beispiel: Um zu löschen 50 Zeile, dann wird50dd』oder 20 Zeilen? Das ist20j』oder20↓』kann man tun.