Lorsque vous utilisez le plugin Grep sur VIM, je peux rechercher dans le répertoire actuel de toutes les occurrences d'une chaîne dans un ensemble de fichiers, comme celui-ci:
:grep Ryan *.txt
Cela génère quelque chose comme ça:
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
Si j'appuie sur Entrée, cela me ramène simplement à mon éditeur. Ce que je veux vraiment faire, c'est pouvoir ouvrir l'un de ces fichiers et passer à l'endroit où la chaîne a été trouvée. Y a-t-il un moyen de faire cela? Le 1 of 3
Une partie me fait penser qu'il y a un moyen d'onglet à travers les résultats, mais je ne sais pas quelles commandes sont disponibles pour moi. Quelqu'un peut-il perdre une lumière sur cela?
Lorsque vous appuyez sur Entrée, vous devez rechercher la ligne 3 de File1.txt. Pour passer au match suivant, exécutez :cn
; Pour passer au match précédent, exécutez :cp
. Exécuter :copen
ouvrira une fenêtre contenant la liste des matchs. Déplacez le curseur sur la correspondance souhaitée et appuyez sur ENTER pour passer à cette correspondance.
Pour plus d'utiliser :grep
, voir
:help grep
:help quickfix.txt
Taper :cn
et :cp
Pour aller de l'avant et l'arrière dans la liste Quickfix peut être gênant, alors j'utilise ces mappages:
nmap <silent> <C-N> :cn<CR>zv
nmap <silent> <C-P> :cp<CR>zv
Également :grep
la commande n'est pas un plugin; Cela fait partie de Vim.