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 im vim
Befehlszeilenmodus suchen und ersetzen .
Ö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.
Standardmäßig arbeitet vim beim Öffnen einer Datei im Befehlsmodus. Sie können drücken i
, um in den Einfügemodus zu wechseln.
Im Befehlsmodus können Sie direkt mit der Eingabe von vim-Befehlen beginnen; Sie erscheinen unten im Terminal. Dieser untere Teil fungiert als integrierte Eingabeaufforderung in vim.
Um nach einer Zeichenfolge zu suchen, geben Sie einen umgekehrten Schrägstrich /
gefolgt von der zu suchenden Zeichenfolge ein.
For example:
/dog
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 an der Zeichenfolge platziert, brown
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 die Meldung „Suchtreffer BOTTOM, weiter oben“ aus .
Um nach einer Zeichenfolge mit einem Sonderzeichen oder beispielsweise Zeichen wie einem Plus (+) oder einem Leerzeichen zu suchen , stellen Sie dem Zeichen einen Schrägstrich voran:
For example:
/C\+
Um das erste Vorkommen einer Zeichenfolge in einer Zeile zu finden und zu ersetzen , platzieren wir den Cursor auf dieser Zeile und verwenden den folgenden Befehl:
For example:
:s/dog/tiger
Wie Sie im obigen Screenshot sehen können, wurde die dritte Zeile, in der sich der Cursor befindet, durch das Wort dog
ersetzt, tiger
wie im Befehl angegeben.
Um alle Vorkommen von string in einer Zeile zu suchen und zu ersetzen , verwenden Sie /g
am Ende.
For example:
:s/cat/dog/g
Um alle Vorkommen global zu finden und zu ersetzen , verwenden wir %s
statt nur s
:
For example:
:%s/dog/mouse
Wenn der String aus Sonderzeichen wie Leerzeichen besteht, kann ihm wie oben gezeigt ein Schrägstrich vorangestellt werden.
🍻 Prost!