vim:如何从当前目录grep?

时间:2013-02-19 14:12:26

标签: vim grep

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

4 个答案:

答案 0 :(得分:14)

我也有<leader>cd%:p:h映射,这很好。

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

:grep [options] 'pattern' %:p:h/*

这将从当前打开文件的路径执行grep,并保持您当前的当前目录(pwd)不受影响。

答案 1 :(得分:4)

您可以通过其简短形式%:h插入当前缓冲区的目录。请参阅:help cmdline-special

:grep foo %:h/*

可替换地,

:set autochdir

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

答案 2 :(得分:0)

更改当前工作目录。我在.vimrc

中有这个映射
map ,cd :cd %:p:h<CR>

答案 3 :(得分:-1)

您使用cmd

在当前位置列表中进行grep
:lv[imgrep][!] /{pattern}/[g][j] {file} ...