Der vim-Editor ist einer der fortschrittlichsten Texteditoren in Unix-Systemen. Er unterstützt fast alle Dateitypen und wird auch als Programmiereditor bezeichnet. In diesem Tutorial lernen wir, wie man Suchvorgänge im vim-Editor durchführt, um den benötigten Text schnell zu finden.
Bitte beachten Sie jedoch zuvor, dass alle in diesem Artikel erwähnten Beispiele, Befehle und Anweisungen unter Ubuntu 14.04 und Vim 7.4 getestet wurden.
Grundlegende Suchvorgänge in Vim
Wenn Sie eine Datei in Vim öffnen und nach einem bestimmten Wort oder einer bestimmten Vorlage suchen möchten, besteht der erste Schritt darin, den Einfügemodus durch Drücken der Esc-Taste zu verlassen (wenn Sie sich im Einfügemodus befinden). Geben Sie dann / gefolgt von dem Wort oder Suchmuster ein, nach dem Sie suchen möchten.
Wenn das Wort, nach dem Sie suchen möchten, beispielsweise Linux ist, zeigt das folgende Bild den Suchbefehl unten im Vim-Fenster:
Nachdem Sie die Eingabetaste gedrückt haben, werden Sie sehen, dass Vim den Cursor auf der ersten Zeile platziert, die dieses gefundene Wort enthält, beginnend an der Cursorposition im Einfügemodus. Wenn Sie gerade eine Datei geöffnet und sofort mit der Suche begonnen haben, beginnt die Suche ab der ersten Zeile der Datei.
Wenn Sie zur nächsten Position wechseln möchten, die das gesuchte Wort enthält, drücken Sie die Taste n. Wenn Sie alle Speicherorte der gesuchten Vorlagen durchlaufen haben, drücken Sie weiterhin die Taste n, um den Suchvorgang zu wiederholen, und der Cursor kehrt zu der Position zurück, an der das erste Suchergebnis angezeigt wurde.
Wenn Sie beim Durchlaufen der Suchergebnisse zum vorherigen Treffer zurückkehren möchten, drücken Sie N (d. h. Umschalt+n). Beachten Sie gleichzeitig, dass Sie jederzeit ggn eingeben können, um zum vorherigen Treffer zu springen erstes Match, oder GN, um auf den letzten Platz zu springen
.Wenn Sie sich am Ende der Datei befinden und rückwärts suchen möchten, verwenden Sie ? anstelle von /, um die Suche zu starten. Das Bild unten ist ein Beispiel:
Passen Sie Ihre Suche an
1. Suchergebnisse hervorheben
Obwohl es einfach ist, über n oder N vom Übereinstimmungspunkt des gesuchten Worts oder Musters zu einer anderen Stelle zu springen, wäre es benutzerfreundlicher, wenn der Übereinstimmungspunkt hervorgehoben werden könnte. Sehen Sie sich zum Beispiel den beigefügten Screenshot an:
Dies kann erreicht werden, indem die Variable hlsearch gesetzt wird, beispielsweise indem der folgende Befehl im Normal-/Befehlszeilenmodus ausgeführt wird:
:set hlsearch
2. Machen Sie die Suche unabhängig von der Groß- und Kleinschreibung
Bei der Suche in Vim wird standardmäßig die Groß-/Kleinschreibung beachtet. Das heißt, wenn ich nach Linux suche, wird Linux nicht gefunden. Wenn Sie jedoch nicht auf diese Weise suchen möchten, können Sie mit dem folgenden Befehl die Suche ohne Berücksichtigung der Groß- und Kleinschreibung umstellen:
:set ignorecase
Wenn ich also die Variable „ignorecase“ setze und dann den zuvor erwähnten Befehl verwende, um nach Linux zu suchen, wird auch der Speicherort von Linux hervorgehoben.
3. Intelligente Fallsuche
Vim bietet eine Funktion, bei der der Editor die Groß-/Kleinschreibung nur dann beachtet, wenn das zu durchsuchende Wort/die zu durchsuchende Vorlage Großbuchstaben enthält. Um diese Funktionalität zu implementieren, müssen Sie zunächst „ignorecase“ und dann die Variable „smartcase“ festlegen.
:set ignorecase :set smartcase
Wenn beispielsweise eine Datei sowohl LINUX als auch Linux enthält und die Smart-Case-Suchfunktion aktiviert ist und Sie /LINUX zum Suchen verwenden, wird nur das Wort LINUX durchsucht. Wenn Sie hingegen nach „Linux“ suchen, werden die Suchergebnisse unabhängig von der Groß-/Kleinschreibung abgeglichen.
4. Progressive Suche
Genau wie Google, das bei der Eingabe der Abfragezeichenfolge unterschiedliche Suchergebnisse anzeigt (die Zeichenfolge wird mit jedem eingegebenen Zeichen ständig aktualisiert), bietet auch Vim eine progressive Suche. Um diese Funktion nutzen zu können, müssen Sie vor der Suche den folgenden Befehl ausführen:
:set incsearch
Einige coole Tipps für die Suche in Vim
Es gibt noch ein paar weitere Suchtipps, die für Sie nützlich sein könnten.
Lass uns anfangen! Wenn Sie in einer Datei nach einem Wort suchen, es aber nicht eingeben möchten, bewegen Sie einfach Ihren Cursor unter das Wort und drücken Sie * (oder Umschalt +8). Wenn Sie eine Teilsuche starten möchten (z. B. sowohl nach in als auch nach terminal suchen), müssen Sie den Cursor unter das Wort (in diesem Fall in) bewegen und dann g* auf der Tastatur drücken (drücken Sie einmal g und dann). dann drücken Sie weiter * ).
Hinweis: Wenn Sie die Suche umkehren möchten, drücken Sie # oder g#.
Hier ist ein Video, das Sie sich ansehen können:
Videoplayer
00:00
03:33
下一个,只要你想要,你可以获得所有被搜索单词或模式匹配处所在的行和行号的一个列表。这可以在你开始搜索后通过按 [I 来实现。如下图是一个列表结果如何在 Vim 窗口底部被分组和显示的例子:
接下来,你可能已经得知,Vim 默认是环形搜索的,意味着在到达文件结尾处(或者被搜索单词的最后一处匹配)时,如果继续按 “搜索下一个” 会将光标再次带回第一处匹配处。如果你希望禁止环形搜索,可以使用如下命令:
:set nowrapscan
再次开启环形搜索,使用如下命令即可:
:set wrapscan
最后,假设你想要对文件中已经存在的单词做一点小小的修改,然后对修改后的单词执行搜索操作,一种方法是输入 / 与要搜索的单词。但是如果这个单词又长又复杂,那么可能需要一点时间来输入它。
一个简单的办法是将光标移到你想要略微修改的单词下,按/ 之后再按Ctrl +r 最后按 Ctrl块 + w 。这个在光标下的单词不仅仅会被拷贝,也会被复制到/ 后,允许你对它进行修改并且继续进行搜索操作。
如果想要获得更多小技巧(包括如何使用鼠标来使在 Vim 中的操作变得简单),请前往 Vim 官方文档。
在本教程中,我们介绍了如何在vim编辑器中进行搜索和替换,包括使用斜杠和点方法,使用冒号和s命令,以及使用全局命令。我们还学习了如何设置大小写敏感或不敏感,以及如何搜索整个单词。vim编辑器提供了强大而灵活的搜索功能,可以帮助我们提高编辑效率。
Das obige ist der detaillierte Inhalt vonSuchtechniken für den VIM-Editor unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!