Vim suchen und ersetzen

Vim Search Replace



Vim ist ein fortschrittlicher und beliebter Texteditor, der in den meisten Linux-Distributionen vorinstalliert ist. Es ist ein befehlszeilenbasierter Texteditor, der hauptsächlich in nicht-GUI-basierten Betriebssystemen verwendet wird. Es ist hochgradig konfigurierbar und bietet viele Funktionen. Ein wesentlicher Punkt bei Vim ist, dass es stark auf Wiederholungen optimiert ist.

In diesem Artikel erklären wir eine der nützlichsten Funktionen, nämlich Suchen und Ersetzen. Mit einer Handvoll Konfigurationen können Sie alles, was Sie wollen, blitzschnell und mit feinerer Granularität durchsuchen.







Methode Nr. 1 Suchen und Ersetzen eines Vorkommens nach dem anderen (mit dem Befehl Schrägstrich und Punkt)

Der einfachste Weg, ein Wort in Vim zu suchen und zu ersetzen, ist die Verwendung des Befehls Schrägstrich und Punkt. Schrägstrich (/) kann verwendet werden, um nach einem Wort zu suchen, während der Punkt (.) verwendet werden kann, um dieses Wort zu ersetzen.



Befolgen Sie die folgenden einfachen Schritte, um ein beliebiges Wort im Vim-Editor zu suchen und zu ersetzen:



  • Öffnen Sie die Datei in Vim
  • Drücken Sie die Schrägstrichtaste (/) zusammen mit dem Suchbegriff wie / search_term und drücken Sie die Eingabetaste. Es wird das ausgewählte Wort markieren.
  • Dann drück die Tastenkombination cgn um das markierte Wort zu ersetzen und den replace_term einzugeben
  • Gehen Sie zurück in den normalen Modus. Drücken Sie dann n, um zum nächsten Vorkommen des Suchbegriffs zu gelangen.
  • Drücken Sie dann den Punkt (.), wenn Sie das nächste Vorkommen durch denselben replace_term ersetzen möchten, andernfalls drücken Sie erneut die n-Taste, um zum nächsten Vorkommen zu gelangen.

Es ist die schnellste und beste Methode für die grundlegende Suche und ersetzt Funktionen, da es nur wenige Tastenanschläge erfordert und Ihre aktuelle Arbeit weniger stört. Die Suche nach einem Wort, das zu oft vorkommt, wird jedoch zu einer sich wiederholenden und zeitaufwändigen Aufgabe.





Mit Vim gibt es eine andere bessere Möglichkeit, diese sich wiederholende Aufgabe zu vermeiden, die den Ersatzbefehl verwendet.

Methode #2 Suchen und Ersetzen mit dem Befehl Ersetzen

Der Ersatzbefehl kann verwendet werden, um grundlegende bis erweiterte Such- und Ersetzungsfunktionen mit einem einzigen Befehl auszuführen. Die Syntax für diesen Befehl lautet:



$:S/<Suchbegriff> /<replace_term> /Möglichkeit

Beachten Sie, dass Sie diesen Befehl im normalen Modus eingeben müssen.

Woher

  • S: steht für Ersatz
  • search_term: das Wort, das Sie suchen und ersetzen möchten
  • replace_term: das Wort, durch das Sie es ersetzen möchten
  • Option: c (zur Bestätigung), g (alle Vorkommen in einer Zeile ersetzen), i (um den Fall zu ignorieren)

Suchen und ersetzen

Verwenden Sie die folgende Syntax, um eine einfache Suche und Ersetzung mit dem Befehl 'Ersatz' durchzuführen:

:%S/<Suchbegriff> /<replace_term> /g

Dieser Befehl ersetzt alle Instanzen von search_term durch den replace_term.

Dies ist zum Beispiel unser Beispieltext:

Ubuntu ist eines der am häufigsten verwendeten Linux-Betriebssysteme. Ubuntu enthält Tausende von nützlichen Programmen. Mit der Ubuntu-Befehlszeile können Sie fast jede Art von Aufgabe ausführen.

Um im folgenden Text jedes Vorkommen von Ubuntu durch Debian zu ersetzen, würde der folgende Befehl verwendet:

:%S/Ubuntu/Debian/g

Suchen und Ersetzen in einer Zeile

Um das Vorkommen eines Wortes nur in einer einzelnen Zeile statt in der ganzen Datei zu suchen und zu ersetzen, verwenden Sie die folgende Syntax:

:S/<Suchbegriff> /replace_term/g

Um beispielsweise das Vorkommen von Ubuntu durch Debian im obigen Beispieltext zu ersetzen, würde der folgende Befehl ohne das %-Symbol verwendet:

:S/Ubuntu/Debian/g

Suchen und durch Bestätigung ersetzen

Wenn Sie vor dem Ersetzen des Suchbegriffs um eine Bestätigung gebeten werden möchten, verwenden Sie c am Ende des Suchbefehls wie folgt:

:S/<Suchbegriff> /<replace_term> /gc

Der obige Befehl fragt vor jedem Ersetzen nach einer Bestätigung (Geben Sie y für ja und n für nein ein).

Groß-/Kleinschreibung wird beim Suchen und Ersetzen nicht beachtet

Beim Durchführen von Suchen und Ersetzen in Vim wird standardmäßig zwischen Groß- und Kleinschreibung unterschieden. Sie können eine Suche ohne Berücksichtigung der Groß-/Kleinschreibung durchführen, indem Sie am Ende des Befehls i wie folgt hinzufügen:

:S/<Suchbegriff> /<replace_term> /geben Sie

Um beispielsweise nach dem Begriff Ubuntu unabhängig von seiner Groß-/Kleinschreibung (UBUNTU, Ubuntu, ubuntu, uBuntu) zu suchen, wird der folgende Befehl verwendet:

:S/ubuntu/debian/geben Sie

Suche und ersetze das ganze Wort

Standardmäßig sucht der Ersatzbefehl nach jeder Übereinstimmung, unabhängig davon, ob sie teilweise oder vollständig ist. Um den exakten Suchbegriff zu finden und ihn dann durch den Ersetzungsbegriff zu ersetzen, schließen Sie den Suchbegriff in die .

Zum Beispiel möchten Sie in einigen Dokumenten genau das Wort suchen und ersetzen, das Sie durch mich haben. In diesem Fall würde der folgende Befehl verwendet:

:S/<Sie> /ich/

Es wird das Wort Sie finden und es durch mich ersetzen. Es ersetzt jedoch nicht die Wörter wie Ihres.

Suchen und Ersetzen von Wörtern in bestimmten Zeilen

Um in den einzelnen Zeilen nach einem Wort statt nur einer Zeile oder der ganzen Datei zu suchen, kann folgende Syntax verwendet werden:

:<Startlinie>,<Ziellinie>S/<Suchbegriff> /<replace_term> /g

Um zum Beispiel das Vorkommen von Ubuntu durch Debian aus den Zeilen 3 bis 8 in einer Datei zu suchen und zu ersetzen, lautet der Befehl:

:1,10s/ubuntu/debian/g

Um das Vorkommen eines Wortes von der aktuellen Zeile bis zur nächsten x Zeilenanzahl zu suchen und zu ersetzen, würde die folgende Syntax verwendet:

:S/Suchbegriff/replace_term/g x

Um das Vorkommen eines Wortes von der aktuellen Zeile bis zur letzten Zeile zu suchen und zu ersetzen, wird die folgende Syntax verwendet:

:.,$s/Suchbegriff/replace_term/g

FAZIT

In diesem Artikel haben wir die beiden Befehlszeilenmethoden zum Suchen und Ersetzen von Wörtern in einem Vim-Editor kennengelernt. Der erste Befehl, der den Schrägstrich und den Punkt verwendet, ist die einfachste und einfachste Methode, aber es stellt sich heraus, dass er sich wiederholt, wenn Sie ein Wort suchen und ersetzen, das zu oft vorkommt. Der andere Befehl, der einmal ein Ersatzbefehl ist, mag schwierig und komplex erscheinen, aber sobald Sie ihn üben, werden Sie ihn in mehreren Szenarien äußerst nützlich finden.