如何使用 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。
有几件事我还不明白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。