在 VIM 中快速“在文件中查找”搜索有哪些选择?
我们的代码库足够大,搜索需要处理索引。grep/vimgrep/etc 太慢了。
索引不需要特别快;我可以在一夜之间建立索引。
谢谢,
[编辑] 我也在 Windows 环境中工作。
在 VIM 中快速“在文件中查找”搜索有哪些选择?
我们的代码库足够大,搜索需要处理索引。grep/vimgrep/etc 太慢了。
索引不需要特别快;我可以在一夜之间建立索引。
谢谢,
[编辑] 我也在 Windows 环境中工作。
如果它是源代码(而不是全文搜索),那么带有 TagList 插件的 ctags 应该可以很好地满足您的需求。参见,例如:
http://www.thegeekstuff.com/2009/04/ctags-taglist-vi-vim-editor-as-sourcece-code-browser/
编辑: TagList 和 ctags 也可以在 Windows 上运行(这就是我使用的)。请参阅 TagList 安装页面和常见问题解答。以下链接可能有用:
还有一个 TagList 论坛,您可以在其中获得更多帮助:
http://tech.groups.yahoo.com/group/taglist/
不久前我在我的 Windows 机器上设置了它,但我不记得遇到任何问题。
我使用的东西,但不是通过 vim,是 ack:http ://betterthangrep.com/
它是一个基于 perl 的工具,应该可以在 Windows 中使用。
如果您正在使用大型代码库,那么可能是时候寻找比传统工具更强大的解决方案了。OpenGrok是一个非常快速的源代码搜索和交叉引用引擎。除了出色的性能之外,它还与Subversion、Mercurial和ClearCase以及其他源版本控制软件集成。这听起来很像你可以使用的东西。
如果你想支持在 Vim 中使用 OpenGrok,你可以很容易地编写一个 vim 函数来调用system()
来开始搜索。要阅读有关编写新 vim 命令的更多信息,请:help 40.2
在 vim 中查找。
我希望这就是你要找的。
我不知道我是怎么找到这个的,但看起来有人为谷歌桌面编写了一个插件
尝试安装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
你可以试试这个
:vimgrep /某事/ * /
并且不要忘记在之后打开搜索结果窗口
:cw