有几件事我还不明白VIM的方式。其中之一是在项目中搜索(使用Atom中的VIM):
我目前使用CtrlP作为文件名,但是内容呢?如何使用字符串进行搜索,然后使用VIM和/或VIM插件查看所有匹配项的列表?
pvcm50d11#
我找到了一个更好的解决方案:FZF它只是使用:Ag命令异步搜索项目中的所有内容。
:Ag
mitkmikd2#
使用:grep或:vimgrep搜索文件内容。搜索结果将被放置到“位置列表”中,您可以通过键入:cw Enter打开该列表。默认情况下,:grep的语法与grep(1)命令的语法相同:
:grep
:vimgrep
:cw
grep(1)
:grep 'my pattern.*' /path/to/dir
默认情况下,它将搜索当前目录(:pwd)。我将set autochdir添加到我的.vimrc中,这样我的PWD总是跟随我正在编辑的文件。:grep和:vimgrep之间的主要区别是:vimgrep(简称:vim)使用与Vim兼容的正则表达式,而:grep使用&grepprg使用的任何正则表达式。您可以通过将&grepprg设置为不同的值来使用自定义程序。我个人喜欢使用Perl兼容正则表达式的ack。
:pwd
set autochdir
:vim
&grepprg
guicsvcw3#
为了打开一个文件,我突出显示了位置列表中的行(Shift-v),然后按Enter键。
hgtggwj04#
除了fzf,还有其他优秀的模糊查找插件。
Telescope live_grep
Leaderf rg
4条答案
按热度按时间pvcm50d11#
我找到了一个更好的解决方案:FZF
它只是使用
:Ag
命令异步搜索项目中的所有内容。mitkmikd2#
使用
:grep
或:vimgrep
搜索文件内容。搜索结果将被放置到“位置列表”中,您可以通过键入:cw
Enter打开该列表。默认情况下,
:grep
的语法与grep(1)
命令的语法相同:默认情况下,它将搜索当前目录(
:pwd
)。我将set autochdir
添加到我的.vimrc中,这样我的PWD总是跟随我正在编辑的文件。:grep
和:vimgrep
之间的主要区别是:vimgrep
(简称:vim
)使用与Vim兼容的正则表达式,而:grep
使用&grepprg
使用的任何正则表达式。您可以通过将
&grepprg
设置为不同的值来使用自定义程序。我个人喜欢使用Perl兼容正则表达式的ack。guicsvcw3#
为了打开一个文件,我突出显示了位置列表中的行(Shift-v),然后按Enter键。
hgtggwj04#
除了fzf,还有其他优秀的模糊查找插件。
Telescope live_grep
来搜索您的项目。Leaderf rg
在您的项目中进行搜索。