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.

18
demandé sur Ira Baxter 2009-07-08 03:10:07

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:

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.

9
répondu ars 2009-07-08 19:28:49

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.

5
répondu phss 2009-07-09 12:28:50

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.

4
répondu Zachary Murray 2013-05-14 02:24:35

Je ne sais pas comment j'ai trouvé ça, mais on dirait que quelqu'un a écrit un plugin pour google desktop

1
répondu Sam Saffron 2009-07-07 23:18:17

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  
0
répondu IvanM 2013-09-04 07:34:00

Vous pouvez essayer ce

:vimgrep /quelque chose/ */

et n'oubliez pas d'ouvrir la fenêtre des résultats de recherche après

: cw

-1
répondu IvanM 2013-05-24 07:39:09