我在_vimrc文件中有以下语句来映射F3以在当前光标下为word做vimgrep。
map <F3> :execute "noautocmd vimgrep /" . expand("<cword>") . "/gj **/*." . expand("%:e") <Bar> cw<CR>
现在,我希望将vimgrep用于当前光标下的单词的精确单词匹配。我将其改为如下,但它不起作用。
map <leader>s :execute "noautocmd vimgrep /\<" . expand("<cword>") . "\>/gj **/*." . expand("%:e") <Bar> cw<CR>
有什么不对吗?我怎样才能达到精确的单词匹配?
答案 0 :(得分:4)
问题是你需要加倍反斜杠 - 单个反斜杠将转义下一个字符,如果字符没有特殊含义,则删除反斜杠。 e.g。
echo "\<"
将打印
<
这似乎工作正常:
map <leader>s :execute "noautocmd vimgrep /\\<" . expand("<cword>") . "\\>/gj **/*." . expand("%:e") <Bar> cw<CR>