Da sich Vim darauf konzentriert, vorhandenen Code genauso zu ändern wie neuen Code zu schreiben, ist es in mehrere Modi unterteilt, die jeweils unterschiedliche Zwecke haben.
Normaler Modus
Standardmäßig startet Vim im „normalen“ Modus. Der Normalmodus kann aus anderen Modi durch Drücken von Esc
oder aufgerufen werden .
Im normalen Modus funktionieren Tastendrücke nicht wie erwartet. Das heißt, sie fügen keinen Text in das Dokument ein. Stattdessen können bestimmte Tastendrücke:
Bewegen Sie den Cursor
- h Bewegen Sie ein Zeichen nach links
- j eine Reihe nach unten bewegen
- k eine Reihe nach oben bewegen
- Ich bewege ein Zeichen nach rechts
Wie bei vielen vim-Befehlen kann der Zeilenbewegung eine Zahl vorangestellt werden, um mehrere Zeilen gleichzeitig zu verschieben:
- 4j 4 Reihen nach unten bewegen
- 6k 6 Reihen nach oben bewegen
Grundlegende Wortbewegungen:
- w gehe zum Anfang des nächsten Wortes
- b zum vorherigen Wortanfang wechseln
- Wir bewegen uns zum Ende des Wortes
- W Gehen Sie nach einem Leerzeichen zum Anfang des nächsten Wortes
- B zum Anfang des vorherigen Wortes vor einem Leerzeichen gehen
- E Gehen Sie vor einem Leerzeichen zum Wortende
Anfang / Ende der Linienbewegung:
- 0 zum Zeilenanfang gehen
- $ gehe zum Ende der Zeile
Text bearbeiten
Geben Sie andere Modi ein
Im normalen Modus sollte man die meiste Zeit mit Vim verbringen. Denken Sie daran, das ist es, was Vim anders macht.
Im normalen Modus gibt es mehrere Möglichkeiten, sich in einer geöffneten Datei zu bewegen. Sie können sich nicht nur mit den Cursortasten bewegen, sondern auch mit h
(links), j
(ab), k
(auf) und l
(rechts) bewegen. Dies hilft insbesondere Schreibkräften, die die Ausgangszeile nicht gerne verlassen, wenn sie Änderungen vornehmen.
Sie können im normalen Modus auch Änderungen an einzelnen Zeichen vornehmen. Um beispielsweise ein einzelnes Zeichen zu ersetzen, bewegen Sie den Mauszeiger darüber und drücken Sie r
und dann das Zeichen, durch das Sie es ersetzen möchten. Ebenso können Sie einzelne Zeichen löschen, indem Sie den Mauszeiger darüber bewegen und drücken x
.
Drücken Sie u
im normalen Modus, um ein Rückgängigmachen durchzuführen . Dies macht Änderungen rückgängig, bis Sie sich das letzte Mal im normalen Modus befanden. Wenn Sie wiederholen möchten ( dh rückgängig machen möchten ), drücken Sie Ctrl+r
im normalen Modus.
Einfügemodus
Dies ist der am zweithäufigsten verwendete Modus und für die meisten Menschen das bekannteste Verhalten. Wenn Sie sich im Einfügemodus befinden, werden Zeichen wie in einem normalen Texteditor eingefügt. Sie können es mit einem Einfügebefehl aus dem normalen Modus eingeben.
Einfügebefehle umfassen:
i
Für ' i nsert' wird vim sofort in den Einfügemodus geschalteta
Bei ' a ppend' bewegt dies den Cursor nach dem aktuellen Zeichen und wechselt in den Einfügemoduso
Fügt eine neue Zeile unterhalb der aktuellen Zeile ein und wechselt in der neuen Zeile in den Einfügemodus
Diese Befehle haben auch eine Großbuchstabenvielfalt:
I
Bewegt den Cursor an den Zeilenanfang und wechselt in den EinfügemodusA
Bewegt den Cursor an das Zeilenende und wechselt in den EinfügemodusO
Fügt eine neue Zeile über der aktuellen ein und wechselt in der neuen Zeile in den Einfügemodus
Es gibt so viele weitere Möglichkeiten zum Einfügen von Text in Vim, die hier nicht aufgeführt werden können, aber diese sind die einfachsten. Achten Sie auch darauf, dass Sie nicht zu lange im Einfügemodus bleiben. Vim ist nicht dafür ausgelegt, ständig im Einfügemodus verwendet zu werden.
Drücken Sie Esc
oder, um den Einfügemodus zu verlassen und zum normalen Modus zurückzukehren
Visueller Modus
Im visuellen Modus wird eine Textauswahl getroffen, ähnlich wie sich das Klicken und Ziehen mit der Maus verhält. Durch Auswahl von Text können Befehle nur auf die Auswahl angewendet werden, z. B. Kopieren, Löschen, Ersetzen usw.
So treffen Sie eine Textauswahl:
- Drücken Sie,
v
um in den visuellen Modus zu wechseln. Dies markiert auch einen Startauswahlpunkt - Bewegen Sie den Cursor zum gewünschten Endauswahlpunkt. vim bietet eine visuelle Hervorhebung der Textauswahl
Der visuelle Modus hat auch die folgenden Varianten:
V
Um in den visuellen Linienmodus zu gelangen, wird die Textauswahl zeilenweise vorgenommenUm in den visuellen Blockmodus zu gelangen, wird die Textauswahl nach Blöcken vorgenommen. Durch Bewegen des Cursors wird eine rechteckige Auswahl des Texts getroffen
Drücken Sie Esc
oder, um den visuellen Modus zu verlassen und zum normalen Modus zurückzukehren .
Der visuelle Modus hat tatsächlich mehrere Subtypen: visuellen , Block-visuelle und linewise visuelle
- visuell : wie oben beschrieben. Geben Sie durch Drücken von ein
v
- blockvisuell : Wählen Sie einen beliebigen rechteckigen Bereich aus. Geben Sie durch Drücken von ein
+v
- linienweise visuell : Wählen Sie immer volle Linien aus. Geben Sie durch Drücken von ein
+v
Befehlsmodus
Der Befehlsmodus verfügt über eine Vielzahl von Befehlen und kann Dinge tun, die der normale Modus nicht so einfach tun kann. Um in den Befehlsmodus zu gelangen, geben Sie im normalen Modus ':' ein und geben Sie dann Ihren Befehl ein, der am unteren Rand des Fensters angezeigt werden soll. Zum Beispiel, um einen globalen Such- und Ersetzungstyp durchzuführen :%s/foo/bar/g
, um alle 'foo' durch 'bar' zu ersetzen.
:
Aktiviert den Befehlsmodus%
Mittel über alle Liniens
Bedeutet Ersatz/foo
ist Regex, um Dinge zu finden, die ersetzt werden müssen/bar/
ist Regex, um Dinge durch zu ersetzen/g
bedeutet global, sonst würde es nur einmal pro Zeile ausgeführt
Vim verfügt über eine Reihe anderer Methoden, über die Sie in der Hilfedokumentation :h
oder lesen können :help
.
Modus ersetzen
Im Ersetzungsmodus können Sie vorhandenen Text ersetzen, indem Sie ihn direkt eingeben. Wechseln Sie vor dem Aufrufen dieses Modus in den normalen Modus und setzen Sie den Cursor auf das erste Zeichen, das Sie ersetzen möchten. Drücken Sie dann 'R' (Großbuchstabe R), um den Ersetzungsmodus aufzurufen. Was auch immer Sie jetzt eingeben, ersetzt den vorhandenen Text. Der Cursor bewegt sich wie im Einfügemodus automatisch zum nächsten Zeichen. Der einzige Unterschied besteht darin, dass jedes von Ihnen eingegebene Zeichen das vorhandene ersetzt.