在VIM中快速搜索“在文件中查找”有哪些选项?
我们的代码库足够大,搜索需要处理索引。 grep / vimgrep / etc太慢了。
索引不需要特别快;我可以在一夜之间做索引。
谢谢,
[编辑]我也在Windows环境中工作。
答案 0 :(得分:9)
如果是源代码(而不是全文搜索),那么带有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机器上,但我不记得遇到任何问题。
答案 1 :(得分:5)
我使用的东西,但不是通过vim,是ack:http://betterthangrep.com/
它是一个基于perl的工具,它应该可以在Windows中使用。
答案 2 :(得分:4)
如果您正在使用大型代码库,那么可能是时候寻找比传统工具更强大的解决方案了。 OpenGrok是一个非常快速的源代码搜索和交叉引用引擎。除了出色的性能外,它还与Subversion,Mercurial和ClearCase以及其他源修订控制软件集成在一起。这听起来很像你可以使用的东西。
如果您希望支持在Vim中使用OpenGrok,您可以轻松编写一个调用system()
来启动搜索的vim函数。要阅读有关编写新vim命令的更多信息,请在vim中查找:help 40.2
。
我希望这就是你要找的东西。
答案 3 :(得分:1)
我不知道我是怎么发现的,但看起来有人为google desktop编写了一个插件
答案 4 :(得分:0)
尝试安装https://github.com/mileszs/ack.vim,http://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
答案 5 :(得分:-1)
你可以试试这个
:vimgrep / something / * /
并且不要忘记在
之后打开搜索结果窗口:CW