So finden und ersetzen Sie Text in Vim unter Linux

vim ist einer der beliebtesten Dateieditoren unter Linux. Ein Teil der Popularität ist auf den Befehlszeilenmodus von vim zurückzuführen, der es Benutzern, insbesondere Softwareentwicklern und fortgeschrittenen Benutzern, ermöglicht, die Zeit für Dateiänderungsvorgänge zu optimieren.

In diesem Artikel erfahren Sie, wie Sie Text in suchen und ersetzen vim Befehlszeilenmodus.

Öffnen wir zunächst eine Textdatei in vim:

vim test.txt

Vim arbeitet in verschiedenen Modi. Die zwei wichtigsten Modi sind der oben erwähnte Befehlsmodus und der zweite der Einfügemodus, der verwendet wird, um den Dateiinhalt zu ändern.

Wenn eine Datei geöffnet wird, arbeitet vim standardmäßig im Befehlsmodus. Sie können drücken ich um in den Einfügemodus zu wechseln.

Im Befehlsmodus können Sie direkt mit der Eingabe von vim-Befehlen beginnen; Sie werden unten im Terminal angezeigt. Dieser untere Teil fungiert als integrierte Eingabeaufforderung in vim.

Um nach einer Zeichenfolge zu suchen, Backslash eingeben / gefolgt von der zu suchenden Zeichenfolge.

Zum Beispiel: /Hund

Wie oben zu sehen ist, wird der Cursor von der Position, an der sich der Cursor befindet, zum nächsten Vorkommen der Zeichenfolge gebracht. Der Cursor wurde auf die Zeichenfolge gesetzt Braun wie in einem früheren Bild gezeigt. Um die nächsten Vorkommen zu finden, drücken Sie n. Nach dem letzten Auftreten geht es zurück zum ersten und gibt eine Nachricht aus „Suchtreffer BOTTOM, weiter oben“.

So suchen Sie nach einer Zeichenfolge mit einem Sonderzeichen, oder zum Beispiel Zeichen wie ein Plus (+) oder ein Leerzeichen, stellen Sie dem Zeichen einen Schrägstrich voran:

Zum Beispiel: /C\+

So suchen und ersetzen Sie das erste Vorkommen einer Zeichenfolge in einer Zeile, platzieren wir den Cursor in dieser Zeile und verwenden den folgenden Befehl:

Zum Beispiel: :s/dog/tiger

Wie Sie im obigen Screenshot sehen können, ist die dritte Zeile, in der sich der Cursor befindet, das Wort Hund wurde ersetzt durch Tiger wie im Befehl angegeben.

So suchen und ersetzen Sie alle Vorkommen von Zeichenfolgen in einer Zeile, benutzen /g Am Ende.

Zum Beispiel: :s/cat/dog/g

Um alle Vorkommen global zu suchen und zu ersetzen, wir gebrauchen %S statt nur S:

Zum Beispiel: :%s/Hund/Maus

Wenn der String aus Sonderzeichen wie Leerzeichen besteht, kann ihm wie oben gezeigt ein Schrägstrich vorangestellt werden.

? Beifall!