2009-07-07 138 views
17

在VIM中寻找真正快速的“查找文件”搜索有哪些选择?快速查找VIM中的文件?

我们的代码库足够大,搜索需要处理索引。 grep/vimgrep/etc太慢了。

索引不需要特别快;我可以通宵索引。

谢谢,

[编辑]我也在Windows环境下工作。

回答

9

如果是源代码(而不是全文搜索),那么使用TagList插件的ctags应该可以满足您的需求。参见,例如:

http://www.thegeekstuff.com/2009/04/ctags-taglist-vi-vim-editor-as-sourece-code-browser/

编辑:标记列表和CTAGS将在Windows上工作,以及(这是我使用的)。查看TagList安装页面和FAQ。下面的链接可能证明是有用的:

还有一个标记表论坛,在这里你可以得到进一步的帮助:

http://tech.groups.yahoo.com/group/taglist/

我设置它ñ我的Windows机器回来,但我不记得遇到任何问题。

1

我不知道我是怎么发现这一点,但看起来像有人写一个插件google desktop

4

如果你有一个大的代码库工作,那么它可能是时间去寻找一个更强大的解决方案比传统工具。 OpenGrok是一个非常快速的源代码搜索和交叉引用引擎。除了其卓越的性能之外,它还集成了Subversion,MercurialClearCase以及其他源版本控制软件。听起来很像你可以使用的东西。

如果你想要支持从Vim内部使用OpenGrok,你可以很容易地编写一个vim函数来调用system()来为你开始搜索。要详细了解如何编写新的vim命令,请在vim中查找:help 40.2

我希望这就是你要找的。

5

的东西,我用,而不是通过VIM,是ACK:http://betterthangrep.com/

它是一个基于Perl的工具,它应该在Windows中使用。

+0

这对我很好。我们有成千上万的文件,而正常的grep(甚至是ack)可能需要几十秒。但是像`:Ack --ruby * something *`这样的东西一般会在一两秒内返回,因为它只搜索文件的一个子集 – 2011-12-07 19:03:45

-1

你可以试试这个

:使用vimgrep /事/ * /

不要忘记打开搜索结果窗口后

:CW

+2

问题指出vimgrep对他来说太慢了...... – 0xc0de 2013-08-30 07:23:35

0

尝试i nstall https://github.com/mileszs/ack.vimhttp://beyondgrep.com/

然后做一个链接

ln -s /usr/bin/ack-grep /usr/bin/ack 

,并添加

noremap <C-f> :copen<CR>:Ack -aQi --ignore-dir someignoringdir 

到你的.vimrc,之后就可以通过按Ctrl + F文件找到,享受

_ /| 
\'o.O' 
=(___)= 
    U 
+0

不确定是否这将比内建grep或vimgrep更快。 – sixtyfootersdude 2014-03-05 21:33:54