Comment rechercher dans un répertoire de fichiers dans vim?

Une tâche de programmation commune pour moi dans vim est:

:s/some pattern/

Faire un peu de travail

n # trouve l'entrée suivante

Faire un peu de travail

n # trouve l'entrée suivante ...

Maintenant, s/.... recherches uniquement dans le fichier actuel.

Y a-t-il un moyen de le faire, mais rechercher dans un répertoire de fichiers? Dites faire " s/..../ "sur tous les fichiers dans les sous-répertoires de {[4] } qui se termine par .php de .rpc ?

Merci!

27
demandé sur Sagar Jain 2010-02-03 12:21:34

2 réponses

, Vous pouvez simplement utiliser l':grep commande: ou pour une intégration plus complète des outils de recherche, utiliser le grep.extension vim .

Tapez simplement :help grep pour obtenir une bonne documentation de ce qui est disponible dans Vim. Utiliser :grep foo *.?pp devrait faire ce que vous voulez. Cela ouvrira la liste QuickFix , tout comme celle que vous obtenez en utilisant :make, permettant de sauter aux occurrences trouvées.

27
répondu tonio 2011-12-13 03:07:11
:help windo
:help bufdo
man find
man xargs

find ./start/point -iname "*.cpp" -print0 | xargs -0 vim
:bufdo s/baar/foo/gc
:wall
:qall

Gc "global confirm", wall (tout écrire), qall (tout à fait tous). Pour voir la liste des fichiers :ls saut en haut au fichier suivant: wn (écrire suivant) ou: bn (tampon suivant). Par ailleurs, xargs gérer de gros morceaux de fichier en mémoire pour livrer à vim withou erros.

3
répondu SergioAraujo 2011-12-13 10:15:00