Wenn ich das grep-Plugin für VIM verwende, kann ich das aktuelle Verzeichnis nach allen Vorkommen einer Zeichenfolge in einer Reihe von Dateien durchsuchen.
:grep Ryan *.txt
Dies gibt ungefähr Folgendes aus:
file1.txt:3:Ryan was here
file2.txt:10:Ryan likes VIM
file3.txt:5:superuser.com is a fav of Ryan
(1 of 3): Ryan was here
Press ENTER or type command to continue
Wenn ich die Eingabetaste drücke, kehre ich zu meinem Editor zurück. Was ich wirklich tun möchte, ist in der Lage zu sein, eine dieser Dateien zu öffnen und zu der Stelle zu springen, an der der String gefunden wurde. Gibt es eine Möglichkeit, dies zu tun? Der 1 of 3
Teil lässt mich denken, dass es eine Möglichkeit gibt, durch die Ergebnisse zu blättern, aber ich weiß nicht, welche Befehle mir zur Verfügung stehen. Kann jemand etwas Licht ins Dunkel bringen?
quelle
:grep
hinzufügen, die Sie einemgrep
von der Shell ausgeführten Befehl hinzufügen würden . Sie können also eine rekursive Suche in allen TXT-Dateien im und unterhalb des aktuellen Verzeichnisses mit durchführen:grep -R --include=*.txt Ryan .
. Sie können auch eine rekursive Suche mit dem:vimgrep
Befehl von Vim durchführen , aber die Argumente sind unterschiedlich und ich verwende sie selten, weil sie langsamer als sind:grep
.