Vim Editor-Modi erklärt

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 Escoder 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 rund 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 uim 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+rim 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:

  • iFür ' i nsert' wird vim sofort in den Einfügemodus geschaltet
  • aBei ' a ppend' bewegt dies den Cursor nach dem aktuellen Zeichen und wechselt in den Einfügemodus
  • o 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ügemodus
  • A Bewegt den Cursor an das Zeilenende und wechselt in den Einfügemodus
  • O 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 Escoder, 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, vum 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 vorgenommen
  • Um 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 Escoder, 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 einv
  • 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 Linien
  • s 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 :hoder 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.