Comment avez-vous recherche tout le code source dans Vim?
Lors de l'utilisation de Vim, et donné un répertoire rempli de code (par exemple ~/trunk/) avec un nombre de sous-répertoires, il est un moyen de grep/de recherche pour les instances de texte/regexes à travers l'ensemble du code source?
En ce moment j'utilise:
:lcd ~/trunk
:grep "pattern" *.py */*.py */*/*.py */*/*/*.py
(Évidemment, je suis en limitant cette de fichiers Python, qui est un problème différent, mais il convient de noter que, idéalement, je voudrais limiter les recherches des fichiers avec des extensions spécifiques.)
Vous devez vous connecter pour publier un commentaire.
Si vous avez un assez gros projet, je le recommande à vous de l'utiliser cscope et vim plugins. Ici est celle qui est conçue pour gérer de grands projets: SourceCodeObedience
Il y a une brève description de la façon de grep texte à l'aide de SourceCodeObedience.
vimgrep
ouvre un un seul fichier avec le match, au lieu de montrer un tampon avec "cliquables" lignes de matchs. D'ailleurs, il ne supporte pas la récursivité. C'est inutile, je n'ai aucune idée pourquoi aurait-on le préfère à la plaine degrep
en ligne de commande, même d'avoir à copier manuellement'n open de ses résultats.Je utiliser grep directement pour que.
Vous voudrez peut-être vérifier
:vimgrep
et:grep
dans la documentation de vim.:vimgrep
utilise vim son motif à la recherche de la fonctionnalité et lit tous les fichiers dans vim tampons.:grep
par défaut des liens externesgrep
utlity sur votre système, mais vous pouvez changer ce comportement en définissant legrepprg
option. Voici un lien vers les documents en ligne:http://vimdoc.sourceforge.net/htmldoc/quickfix.html#grep
Il y a plus d'infos à ce sujet et aussi d'autres options dans la pointe sur "Rechercher dans les fichiers à l'intérieur de Vim" à la Vim Conseils Wiki:
http://vim.wikia.com/wiki/Find_in_files_within_Vim
Ensemble
grepprg
à Ack, puis utilisez:grep
de recherche avec accusé de réception.Ou de l'utilisation ctags.
Ag
est la bonne option pour rechercher le motif de manière récursive.https://github.com/rking/ag.vim
Vous pouvez utiliser :vimgrep c'est à dire:
Vérifier cette Astuce Vim:
Aussi un coup d'œil grep.vim, c'est un plugin qui intègre la commande grep, fgrep, egrep, et agrep outils avec Vim et vous permet de rechercher un motif dans un ou plusieurs fichiers et sauter
à eux...
Vous pouvez générer un code source à l'aide de l'indice de ctags et puis VIM peut l'utilisation de ce pour naviguer de façon transparente par le biais de votre base de code. C'est le code source conscient que vous pouvez sauter directement à des déclarations de méthode etc.
Vous avez besoin pour régénérer les ctags fichiers chaque tellement souvent, mais vous pouvez le faire dans le cadre de votre processus. Il devrait être assez rapide, sauf si votre base de code est importante.