如何使用 VIM 搜索项目的所有文件?

How do I search in all files of my project using VIM?

有几件事我还不明白VIM方式。

其中之一是在这样的项目中搜索(在 Atom 中使用 VIM):

我目前使用CtrlP 来命名文件,但是内容呢?

如何使用字符串进行搜索,然后使用 VIM and/or VIM 插件查看所有出现的列表?

使用:grep:vimgrep搜索文件内容。结果被放入“位置列表”,您可以通过键入 :cw Enter.

打开

默认情况下,:grep 的语法与 grep(1) 命令相同:

:grep 'my pattern.*' /path/to/dir

默认情况下它将搜索当前目录 (:pwd)。我将 set autochdir 添加到我的 .vimrc 中,因此我的 PWD 始终遵循我正在编辑的文件。

:grep:vimgrep的主要区别是:vimgrep(简称:vim)使用Vim兼容的正则表达式,而:grep 使用您 &grepprg 使用的任何正则表达式。

您可以通过将 &grepprg 设置为不同的内容来使用自定义程序。我个人喜欢 ack,它使用 Perl 兼容的正则表达式。

我找到了更好的解决方案:FZF

它只是使用 :Ag 命令异步搜索项目中的所有内容。

要打开文件,我突出显示位置列表中的行 (Shift-v) 并按 Enter。