Windows中的GVIM vimgrep

时间:2014-03-19 13:54:39

标签: windows vim vimgrep

我试图在Windows上的GVim中的所有文件中复制Notepad ++ find。 我找到了vimgrep的以下脚本,似乎在目录

中的光标下找到了这个词
map <F4> :execute "vimgrep /" . expand("<cword>") . "/j /**/*.c " <Bar> cw<CR>

我将其修改为始终在项目的根目录中搜索。但它没有用。该项目位于&#34; c:\ lion&#34;

map < F4> :execute "vimgrep /" . expand("<cword>") . "/j {c:\lion\}/**/*.c " <Bar> cw<CR>

显示以下错误。

"{c:" Illegal file name
Cannot open file "{c:"

1 个答案:

答案 0 :(得分:3)

删除{...},然后按原样插入路径,就像在命令行上一样(映射只不过是一个记录的宏)。使用正斜杠更容易;这些也适用于Windows。

:map <F4> :execute "vimgrep /" . expand("<cword>") . "/j C:/lion/**/*.c " <Bar> cw<CR>

也许你被:execute弄糊涂了。还有另一种方法(使用c_CTRL-R_CTRL-W)来插入当前单词,这可以避免这种情况:

:map <F4> :vimgrep /<C-r><C-w>/j C:/lion/**/*.c <Bar> cw<CR>

另外,you should use :noremap;它使映射不受重映射和递归的影响。