繁体   English   中英

VIM快速“在文件中查找”?

[英]Fast 'Find in Files' for VIM?

有什么选择可以在VIM中快速搜索“在文件中查找”?

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

索引不需要特别快; 我可以一夜之间索引。

谢谢,

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

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

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

编辑:TagList和ctags也适用于Windows(这就是我使用的)。 请参阅TagList安装页面和FAQ。 以下链接可能有用:

还有一个TagList论坛,您可以在这里获得进一步的帮助:

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

我暂时将它设置在我的Windows机器上,但我不记得遇到任何问题。

我使用的东西,但不是通过vim,是ack: http//betterthangrep.com/

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

如果您正在使用大型代码库,那么可能是时候寻找比传统工具更强大的解决方案了。 OpenGrok是一个非常快速的源代码搜索和交叉引用引擎。 除了出色的性能外,它还集成了SubversionMercurialClearCase等源代码修订控制软件。 这听起来很像你可以使用的东西。

如果您希望支持在Vim中使用OpenGrok,您可以轻松编写一个调用system()来启动搜索的vim函数。 要阅读有关编写新vim命令的更多信息,请在vim中查找:help 40.2

我希望这就是你要找的东西。

我不知道我是如何找到这个的,但看起来有人为谷歌桌面编写了一个插件

尝试安装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  

你可以试试这个

:vimgrep / something / * /

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

:CW

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM