GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So suchen Sie, um ein Wort im Vim- oder Vi-Texteditor zu finden

Einführung

Vim und sein älteres Gegenstück Vi sind weit verbreitete Texteditoren. Beide sind Open-Source (kostenlos) und auf den meisten Linux- und macOS-Distributionen verfügbar.

Die Suche in Vim/Vi nach Wörtern oder Mustern ist eine häufige Aufgabe, mit der Sie leicht durch große Dateien navigieren können.

Dieses Tutorial zeigt Ihnen, wie Sie in Vim/Vi mit praktischen Beispielen suchen.

Wichtig :Vergewissern Sie sich, dass Sie sich im Normalmodus befinden bevor Sie mit der Suche beginnen. Dies ermöglicht die Navigation im Text, während normale Editorbefehle verwendet werden. Vi und Vim öffnen eine Datei standardmäßig im normalen Modus.
Um in den normalen Modus zu wechseln, drücken Sie Esc .

Einfache Suche in Vim / Vi

Es gibt zwei Möglichkeiten, im Vim/Vi-Texteditor nach einem Zahlen- oder Buchstabenmuster zu suchen.

1. Vorwärts nach dem angegebenen Muster suchen

2. Suchen Sie rückwärts nach dem angegebenen Muster

Die Richtung wird in Relation zur Cursorposition bestimmt.

Suche vorwärts nach dem nächsten Ergebnis eines Wortes

Um vorwärts zu suchen , verwenden Sie den Befehl:

/pattern

Ersetzen Sie pattern mit den Artikeln, die Sie finden möchten.

Zum Beispiel, um nach allen Instanzen des Musters "root" zu suchen , würden Sie:

1. Drücken Sie Esc um sicherzustellen, dass sich Vim/Vi im normalen Modus befindet.

2. Geben Sie den Befehl ein:

/root

Der Texteditor hebt die erste Instanz des Musters nach dem Cursor hervor. In der Abbildung unten sehen Sie, dass das Ergebnis Teil eines Wortes ist, das das angegebene Muster enthält. Dies liegt daran, dass der Befehl nicht angibt, nach ganzen Wörtern zu suchen.

Wählen Sie an dieser Position Enter und:

  • mit n in derselben Richtung zur nächsten Instanz des Musters springen
  • mit N zur nächsten Instanz des Musters in der entgegengesetzten Richtung springen

Suche rückwärts nach einem Wort

Um rückwärts zu suchen Typ:

?pattern

Ersetzen Sie pattern mit den Artikeln, die Sie finden möchten.

Zum Beispiel, um nach allen Instanzen des Musters "nologin" zu suchen , würden Sie:

1. Drücken Sie Esc um sicherzustellen, dass sich Vim/Vi im normalen Modus befindet.

2. Geben Sie den Befehl ein:

?nologin

Vim/Vi hebt die erste Instanz des angegebenen Musters vor dem Cursor hervor.

Drücken Sie Enter um die Suche zu bestätigen. Dann können Sie:

  • gehen Sie mit n in derselben Richtung zur nächsten Instanz des Musters
  • mit N zur nächsten Instanz des Musters in der entgegengesetzten Richtung springen

Suche nach aktuellem Wort

Das aktuelle Wort ist das Wort, in dem sich der Cursor befindet.

Anstatt das Muster anzugeben und Vim/Vi aufzufordern, es zu finden, bewegen Sie den Cursor auf ein Wort und weisen Sie ihn an, das nächste Vorkommen dieses Wortes zu finden.

1. Stellen Sie zunächst sicher, dass Sie sich im normalen Modus befinden, indem Sie Esc drücken .

2. Bewegen Sie dann den Cursor auf das gewünschte Wort.

3. Von hier aus können Sie:

  • Suchen Sie mit * nach der nächsten Instanz des Wortes
  • Suchen Sie mit # nach der vorherigen Instanz des Wortes

Jedes Mal, wenn Sie * drücken oder # der Cursor springt zur nächsten/vorherigen Instanz.

Suche nach ganzen Wörtern

Um nach ganzen Wörtern zu suchen, verwenden Sie den Befehl:

/\<word\>

Der Texteditor hebt nur das erste ganze Wort genau wie im Befehl angegeben hervor.

Öffnen Sie eine Datei in einem bestimmten Wort

Vim (und Vi) können Dateien mit einem bestimmten Wort öffnen, sodass Sie einen Schritt überspringen und direkt zum gesuchten Begriff gehen können.

Um eine Datei mit einem bestimmten Wort zu öffnen, verwenden Sie den Befehl:

vim +/word [file_name]

oder

vi +/word [file_name]

Zum Beispiel, um die Datei /etc/passwd zu öffnen Datei, in der zuerst der Begriff "root" verwendet wird , verwenden Sie den Befehl:

vim +/root /etc/passwd

Der Texteditor öffnet die Datei und zeigt als erste Zeile den Begriff "root" an , wie im Bild unten.

Suche ohne Berücksichtigung der Groß-/Kleinschreibung

Standardmäßig wird bei Vi(m) bei der Suche in der Datei zwischen Groß- und Kleinschreibung unterschieden. Wenn Sie beispielsweise nach dem Begriff /user suchen es zeigt keine Ergebnisse mit dem großgeschriebenen U (d. h. Benutzer ).

Es gibt mehrere Möglichkeiten, Vim/Vi die Groß-/Kleinschreibung zu ignorieren.

  • Führen Sie den folgenden Befehl aus, um nach einem bestimmten Wort mit Groß-/Kleinschreibung zu suchen:
/\<word\>\c

Der \c -Attribut weist Vi(m) an, die Groß-/Kleinschreibung zu ignorieren und alle Ergebnisse anzuzeigen.

  • Alternativ können Sie Vim so einstellen, dass Groß- und Kleinschreibung während der gesamten Sitzung für alle Suchen ignoriert wird. Führen Sie dazu den folgenden Befehl aus:
:set ignorecase
  • Zu guter Letzt kann die Konfigurationsdatei so geändert werden, dass der Texteditor Groß- und Kleinschreibung dauerhaft ignoriert. Öffnen Sie die ~/.vimrc Datei und fügen Sie die Zeile :set ignorecase hinzu .

Suchergebnisse hervorheben

Vi(m) hat eine nützliche Funktion, die Suchergebnisse in der Datei hervorhebt. Um die Hervorhebung zu aktivieren, geben Sie den folgenden Befehl im Texteditor ein:

:set hlsearch

Um diese Funktion zu deaktivieren, führen Sie Folgendes aus:

:set !hlsearch

Suchverlauf

Vi(m) verfolgt die in der Sitzung verwendeten Suchbefehle. Durchsuchen Sie zuvor verwendete Befehle, indem Sie ? eingeben oder / und mit oben und unten Tasten.


Linux
  1. So finden Sie eine Datei in Linux

  2. ViM Texteditor 101 Handbuch

  3. So installieren Sie Vim (vi) unter Windows 10

  4. Vi- und Vim-Editor:12 leistungsstarke Beispiele zum Suchen und Ersetzen

  5. wie man eine Vim-Suche inverse Suche nach allen Zeilen ohne Text durchführt

So suchen und ersetzen Sie Text, Wort oder Zeichenfolge in einer Datei

So installieren Sie den Vim-Texteditor unter Debian 10

So installieren Sie den Vim-Texteditor unter CentOS 8

Wie installiere ich den VIM-Texteditor unter Ubuntu?

So installieren Sie Vim auf Ubuntu

So finden und ersetzen Sie Text in Vim