如何在 VIM 中对多个文本文件进行增量搜索?

如何在 VIM 中对多个文本文件进行增量搜索?

有没有办法让 VIM 对文本文件进行增量搜索?

Vim 已经在当前打开的文件中进行了增量搜索。

演示我尝试完成的搜索类型的程序示例包括 符号速度对于 MacOS,雷索普对于 Windows 或简单笔记用于网络。

这些应用程序会在特定目录的文件中执行即时或增量搜索,并可轻松/快速地缩小您要查找的文件范围或创建新文件。
我使用这两种编辑器,但更喜欢使用一种编辑器(即 VIM)

是否有某个插件可以实现这个功能?

答案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 对问题的解释和解决方案的建议似乎很有趣。

相关内容