vim:如何从当前目录grep?

Ash*_*hot 4 vim grep

vim . 在某个目录中运行.在vim内部,我移动到另一个目录.在那里我运行:grep命令从我运行的第一个目录中搜索vim ..如何:grep从当前的路径配置vim ?

Ken*_*ent 14

我有<leader>cd%:p:h绘制过,这是很好的.

但是,根据您的需要,这条线可能会更好

:grep [options] 'pattern' %:p:h/*
Run Code Online (Sandbox Code Playgroud)

这将从grep当前打开文件的路径开始,并保持您当前的实际目录(pwd)不变.

  • 对于好奇的`%:h`给出了相对于`pwd`的路径,而`%:p:h`给出了绝对路径.更多信息:http://vim.wikia.com/wiki/VimTip530 (3认同)

Ing*_*kat 5

您可以通过其缩写形式插入当前缓冲区的目录%:h。看:help cmdline-special

:grep foo %:h/*
Run Code Online (Sandbox Code Playgroud)

或者,

:set autochdir
Run Code Online (Sandbox Code Playgroud)

会自动将当前目录更改为当前缓冲区的目录(因此您可以.在每个中使用:grep)。这是一个不同的范例,但我发现这非常有用。