答案1
您可以使用以下vimgrep
命令,例如:
:vimgrep /searchword/ ~/**
看
:help vimgrep
了解详情。
答案2
还没有。要获得良好的增量搜索性能,可能需要有人用 C 编写一个插件,将文件加载到一个大型优化数据结构中。可能有一种方法可以破解 vim,让每次按下键时都对整个数据库运行 grep,但这可能不够快。
举一个执行增量搜索(不幸的是,针对文件名,而不是文件内容)的开源 vim 插件的示例,您可以查看 command-t 插件:
https://wincent.com/products/command-t
如果尝试将整个笔记数据库加载到 vim 缓冲区中,可能会遇到的另一个技术限制是,每个用户默认最多可以同时打开 1024 个文件,而许多笔记数据库包含的笔记数量远不止 1024。这个限制可以相当容易地解除,但用户不应该处理这样的事情。
答案3
有一个很好的插件可以做到这一点,但使用缓冲区:精力充沛的探险家。
还有其他插件可以对文件执行类似的操作:易格瑞普和确认但增量搜索也不行。
第一个(以及其他程序,以及 NV 或 Resoph Notes)可以进行增量搜索,因为所有文件都在内存中,就像某种数据库一样工作。对于随机文件来说,实现起来似乎有点困难。
我非常希望在 Vim 中看到这样的功能,因为我刚刚完全转向 Linux,而且据我所知,没有 Notational Velocity 的替代品。NV 是我在 Mac OS X 上工作流程的核心部分,实际上它现在是唯一缺少的部分。Drew Wagner 对问题的解释和解决方案的建议似乎很有趣。