Articles

Vim suchen und ersetzen

Posted on

Vim ist ein fortschrittlicher und beliebter Texteditor, der in den meisten Linux-Distributionen vorinstalliert ist. Es ist ein kommandozeilenbasierter Texteditor, der meist in nicht-GUI-basierten Betriebssystemen verwendet wird. Er ist in hohem Maße konfigurierbar und verfügt über eine Vielzahl von Funktionen. Ein wichtiger Punkt in Bezug auf Vim ist, dass er sehr auf Wiederholungen optimiert ist.

In diesem Artikel werden wir eine seiner nützlichsten Funktionen erklären, nämlich Suchen und Ersetzen. Mit einer Handvoll Konfiguration können Sie alles, was Sie wollen, in rasender Geschwindigkeit und mit feinerer Granularität suchen.

Methode #1 Suchen und Ersetzen – ein Vorkommen auf einmal (mit dem Schrägstrich- und Punkt-Befehl)

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

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ägstrich (/)-Taste zusammen mit dem Suchbegriff wie „/ search_term“ und drücken Sie die Eingabetaste. Dadurch wird das markierte Wort hervorgehoben.
  • Dann drücken Sie die Taste „cgn“, um das hervorgehobene Wort zu ersetzen, und geben den „replace_term“ ein
  • Gehen Sie zurück in den normalen Modus. Drücken Sie dann die Taste „n“, um zum nächsten Vorkommen des Suchbegriffs zu gelangen.
  • Dann drücken Sie den Punkt (.), wenn Sie das nächste Vorkommen durch denselben Ersetzen_Begriff ersetzen wollen, andernfalls drücken Sie erneut die Taste „n“, um zum nächsten Vorkommen zu gelangen.

Dies ist die schnellste und beste Methode für grundlegende Such- und Ersetzungsfunktionen, da sie nur wenige Tastenanschläge erfordert und Ihre aktuelle Arbeit weniger stört. Für die Suche nach einem Wort, das zu oft vorkommt, wird es jedoch zu einer sich wiederholenden und zeitraubenden Aufgabe.

Mit Vim gibt es einen anderen besseren Weg, diese sich wiederholende Aufgabe zu vermeiden, nämlich die Verwendung des Befehls substitute.

Methode #2 Suchen und Ersetzen mit dem Befehl substitute

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

$ :s/<search_term><replace_term>/option

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

Wo

  • S: steht für substitute
  • search_term: das Wort, das Sie suchen und ersetzen wollen
  • replace_term: das Wort, mit dem Sie es ersetzen wollen
  • Option: c (zur Bestätigung), g (alle Vorkommen in einer Zeile ersetzen), i (zum Ignorieren der Groß-/Kleinschreibung)

Suchen und Ersetzen

Um ein einfaches Suchen und Ersetzen mit dem Befehl substitute durchzuführen, verwenden Sie die folgende Syntax:

:%s/<search_term><replace_term>/g

Dieser Befehl ersetzt alle Instanzen von search_term durch den replace_term.

Das ist zum Beispiel unser Beispieltext:

„Ubuntu ist eines der meistgenutzten Linux-Betriebssysteme. Ubuntu enthält Tausende von nützlichen Programmen. Mit der Ubuntu-Befehlszeile können Sie fast jede Art von Aufgabe bewältigen.“

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

:%s/Ubuntu/Debian/g

Suchen und Ersetzen in einer einzelnen Zeile

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

:s/<search_term></replace_term/g

Um zum Beispiel das Vorkommen von Ubuntu durch Debian im obigen Beispieltext zu ersetzen, würde folgender Befehl ohne das %-Symbol verwendet:

:s/Ubuntu/Debian/g

Suchen und Ersetzen mit Bestätigung

Wenn Sie vor dem Ersetzen des Suchbegriffs nach einer Bestätigung gefragt werden möchten, verwenden Sie „c“ am Ende des Suchbefehls wie folgt:

:s/<Suchbegriff><Ersatzbegriff>/gc

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

Groß-/Kleinschreibung nicht beachten

Wenn Sie Suchen und Ersetzen in Vim ausführen, ist es standardmäßig groß- und kleingeschrieben. Sie können eine Suche ohne Berücksichtigung der Groß-/Kleinschreibung durchführen, indem Sie „i“ am Ende des Befehls wie folgt hinzufügen:

:s/<Suchbegriff><Ersatzbegriff>/gi

Beispielsweise, um nach dem Begriff „Ubuntu“ unabhängig von der Groß- und Kleinschreibung (UBUNTU, Ubuntu, ubuntu, uBuntu) zu suchen, würde der folgende Befehl verwendet werden:

:s/ubuntu/debian/gi

Ganzes Wort suchen und ersetzen

Standardmäßig sucht der Ersetzungsbefehl nach jeder Übereinstimmung, egal ob sie teilweise oder ganz ist. Um den exakten Suchbegriff zu finden und ihn dann durch den Ersetzungsbegriff zu ersetzen, schließen Sie den Suchbegriff in den „<>“ ein.

Zum Beispiel möchten Sie in manchen Dokumenten genau das Wort „du“ suchen und durch „ich“ ersetzen. In diesem Fall würde der folgende Befehl verwendet:

:s/\<you\>/me/

Es wird das Wort „you“ gefunden und durch „me“ ersetzt. Es wird jedoch nicht die Wörter wie „dein“ ersetzen.

Wörter in bestimmten Zeilen suchen und ersetzen

Um ein Wort in bestimmten Zeilen zu suchen, anstatt nur in einer Zeile oder in der ganzen Datei, kann folgende Syntax verwendet werden:

:<start_line><end_line>s/<search_term><replace_term>/g

Zum Beispiel, um das Vorkommen von Ubuntu mit Debian in den Zeilen von 3 bis 8 in einer Datei zu suchen und zu ersetzen, würde der Befehl lauten:

:1,10s/ubuntu/debian/g

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

:s/search_term/replace_term/g x

Gleichermaßen würde, um das Vorkommen eines Wortes von der aktuellen Zeile bis zur letzten Zeile zu suchen und zu ersetzen, die folgende Syntax verwendet werden:

:.,$s/search_term/replace_term/g

ZUSAMMENFASSUNG

In diesem Artikel haben wir die zwei Befehlszeilen-Wege zum Suchen und Ersetzen eines beliebigen Wortes in einem Vim-Editor gelernt. Der erste Befehl, der den Schrägstrich und den Punkt benutzt, ist die einfachste und leichteste Methode, aber es stellt sich heraus, dass sie repetitiv ist, wenn Sie ein Wort suchen und ersetzen, das zu oft vorkommt. Der andere Befehl, der einmalige Ersetzungsbefehl, mag schwierig und komplex erscheinen, aber sobald Sie anfangen, ihn zu üben, werden Sie ihn in mehreren Szenarien äußerst nützlich finden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.