我在_vimrc文件中有以下声明,以映射F3对当前光标下的单词执行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>

有什么事吗我如何才能实现精确的单词匹配?

最佳答案

问题是您需要将反斜杠加倍-单个反斜杠将转义下一个字符,如果该字符没有特殊含义,则将反斜杠删除。例如

echo "\<"

将打印
<

这似乎工作正常:
map <leader>s :execute "noautocmd vimgrep /\\<" . expand("<cword>") . "\\>/gj **/*." .  expand("%:e") <Bar> cw<CR>

09-25 17:39