我试图在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:"
答案 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
;它使映射不受重映射和递归的影响。