Vous utilisez vim. Vous avez un outil intégré pour faire ça.
Comme on pouvait s'y attendre, il y a déjà sept réponses disant d'utiliser grep
. Mais il semble que je sois la seule personne jusqu'à présent à avoir remarqué, à partir de votre question, que vous utilisez vim
. Ainsi, bien que vous peut utiliser grep
de l'intérieur vim
vous pouvez également utiliser vim
L'outil intégré de l'UE. Il est invoqué via la commande :vimgrep
commandement.
Pour rechercher "tous les fichiers source C dans le répertoire courant pour les appels à la fonction toUpperCase()
", on tape les vim
commande
:vimgrep "\<toUpperCase\_s*(" *.c
La liste de correspondances ainsi obtenue est automatiquement chargée dans la liste des corrections rapides, accessible par l'une des deux méthodes suivantes (voir l'aide en ligne pour la différence subtile)
:copen
:cwin
Pour trouver la fonction définition plutôt que de l'appeler, ctags
est l'outil, comme mentionné dans Gilles
Réponse de la Commission en collaboration avec le :tjump
o :tselect
des commandes.
Pourquoi utiliser :vimgrep
?
L'aide en ligne ( :help grep
) énumère plusieurs des raisons, que je ne vais pas répéter ici. En outre, comparez l'action de :vimgrep
avec celle de dietbuddha
Réponse de la Commission . dietbuddha
La ligne de commande de l'utilisateur bifurque vers un individu grep
pour chaque fichier source C individuel. Il n'emploie même pas xargs
pour réduire ces frais généraux. Et vous devez toujours, d'une manière ou d'une autre, analyser la sortie pour invoquer votre éditeur de texte sur les fichiers source pertinents une fois qu'elle est terminée. :vimgrep
ne bifurque pas du tout vers de multiples processus supplémentaires, et l'utilisation du résultat est la simplicité même. Il suffit de sélectionner l'une des entrées de la liste de corrections rapides pour positionner automatiquement le curseur sur la ligne correspondante du fichier source.
En fait, il fait exactement ce que vous avez écrit que vous feriez à la main, mais automatiquement. C'est la façon automatisée de faire ces mêmes actions d'éditeur de texte. Il charge le fichier comme s'il était chargé à la main, y recherche une expression régulière (à l'aide de la fonction même la syntaxe des expressions régulières que vous utilisez déjà ailleurs dans le document vim
), enregistre les endroits où des correspondances se produisent, puis décharge le fichier.