Trouver rapidement des fichiers pour VIM?
quelles sont les options pour obtenir vraiment rapide 'Find in Files' recherche dans VIM?
notre base de codes est assez grande pour que la recherche doive se faire à partir d'un index. grep / vimgrep / etc sont trop lents.
L'indexation n'a pas besoin d'être particulièrement rapide; je peux indexer du jour au lendemain.
Merci,
[EDIT] je travaille aussi dans un environnement Windows.
6 réponses
si c'est le code source (plutôt que la recherche plein texte), alors ctags avec le plugin TagList devrait bien fonctionner pour vos besoins. Voir, par exemple:
http://www.thegeekstuff.com/2009/04/ctags-taglist-vi-vim-editor-as-sourece-code-browser/
EDIT: TagList et ctags fonctionneront sur Windows (c'est ce que j'utilise). Voir la page D'installation de TagList et la FAQ. Les liens suivants peuvent prouver utile:
- http://www.vim.org/scripts/script.php?script_id=273
- http://vim-taglist.sourceforge.net/installation.html
- http://vim-taglist.sourceforge.net/faq.html
il y a aussi un forum TagList où vous pouvez obtenir plus d'aide:
http://tech.groups.yahoo.com/group/taglist/
je l'ai installé sur ma machine windows a tout à l'arrière, mais je ne me souviens pas rencontrer de problèmes.
quelque Chose que j'utilise, mais pas par le biais de vim, est accusé de réception: http://betterthangrep.com/
c'est un outil basé sur perl, et il devrait être utilisable sous Windows.
si vous travaillez avec une grosse base de codes, alors il pourrait être temps de chercher une solution plus puissante que les outils conventionnels. OpenGrok est un moteur de recherche de code source et de références croisées très rapide. En plus de sa grande performance, il s'intègre avec Subversion, Mercurial et ClearCase, entre autres logiciels de contrôle de révision des sources. Ça ressemble beaucoup à quelque chose que tu pourrais utiliser.
si vous souhaitez utiliser le support OpenGrok depuis Vim, vous pouvez facilement écrire une fonction vim qui appellerait system()
pour lancer la recherche pour vous. Pour en savoir plus sur l'écriture de nouvelles commandes vim, regardez :help 40.2
à l'intérieur de vim.
Je ne sais pas comment j'ai trouvé ça, mais on dirait que quelqu'un a écrit un plugin pour google desktop
Essayez d'installer https://github.com/mileszs/ack.vim, http://beyondgrep.com/ ,
alors faites un lien
ln -s /usr/bin/ack-grep /usr/bin/ack
noremap <C-f> :copen<CR>:Ack -aQi --ignore-dir someignoringdir
à la vôtre .vimrc, après que vous pouvez trouver dans les fichiers à travers Ctrl+F, enjoy
_ /|
\'o.O'
=(___)=
U
Vous pouvez essayer ce
:vimgrep /quelque chose/ */
et n'oubliez pas d'ouvrir la fenêtre des résultats de recherche après
: cw