如何使用VIM在项目的所有文件中进行搜索?

t8e9dugd  于 2022-11-11  发布在  其他
关注(0)|答案(4)|浏览(342)

有几件事我还不明白VIM的方式。
其中之一是在项目中搜索(使用Atom中的VIM):

我目前使用CtrlP作为文件名,但是内容呢?
如何使用字符串进行搜索,然后使用VIM和/或VIM插件查看所有匹配项的列表?

pvcm50d1

pvcm50d11#

我找到了一个更好的解决方案:FZF
它只是使用:Ag命令异步搜索项目中的所有内容。

mitkmikd

mitkmikd2#

使用: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设置为不同的值来使用自定义程序。我个人喜欢使用Perl兼容正则表达式的ack

guicsvcw

guicsvcw3#

为了打开一个文件,我突出显示了位置列表中的行(Shift-v),然后按Enter键。

hgtggwj0

hgtggwj04#

除了fzf,还有其他优秀的模糊查找插件。

  • telescope.nvim(仅限新 vim ):安装后,只需使用Telescope live_grep来搜索您的项目。
  • Leaderf:另一个性能很好的模糊查找器。安装后,使用Leaderf rg在您的项目中进行搜索。

相关问题