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

Search 如何使用VIM搜索项目的所有文件?,search,vim,neovim,Search,Vim,Neovim,有几件事我还不了解VIM的方式 其中之一是在这样的项目中进行搜索(在Atom中使用VIM): 我目前使用CtrlP作为文件名,但内容如何 如何使用字符串进行搜索,然后使用VIM和/或VIM插件查看所有事件的列表?使用:grep或:vimgrep搜索文件内容。结果被放入“位置列表”中,您可以通过键入:cwEnter打开该列表 默认情况下,:grep的语法与命令相同: 默认情况下,它将搜索当前目录(:pwd)。我在my.vimrc中添加了set autochdir,因此我的PWD始终遵循我正在编辑

有几件事我还不了解VIM的方式

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

我目前使用CtrlP作为文件名,但内容如何


如何使用字符串进行搜索,然后使用VIM和/或VIM插件查看所有事件的列表?

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

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

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

:grep
:vimgrep
之间的主要区别在于
:vimgrep
:vim
)使用与vim兼容的正则表达式,而
:grep
使用
&grepprg
使用的任何正则表达式


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

我发现了一个更好的解决方案:

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


是的,那么事件列表呢?@Sem我已经扩展了我的答案,尽可能地详尽,而不必太深入。
:cw
正是我需要的!先生,你是最棒的。我觉得这非常有用。我看到我能够在列表中上下导航。在“位置列表”中单击带下划线的文件上的
Enter
,是否可以直接打开文件?我对NerdTree也做了类似的事情。或者可能有一种“vimer”的方法可以做到这一点,呵呵(还在学习)这是最慢的方法。安装和/或,然后使用插件。你不会回头看的。这个vim发行版/设置/版本/插件是什么?看起来棒极了。@AntonDaneyko与vim插件一起使用。注意:这需要安装silver_searcher,以获得vim附带的不太漂亮的解决方案,
:grep 'my pattern.*' /path/to/dir