Vim <c-r> <c-w>忽略该行的当前内容

时间:2016-08-24 21:52:01

标签: vim

我有这个脚本在当前项目中搜索光标下的单词:

nnoremap <leader>K :grep! "\b<C-R><C-W>\b"<CR>:cw<CR>

除非单词以b开头,否则效果很好。

这是由于<C-R><C-W>仅完成剩下的单词。例如,如果我正在搜索“分支”,我的模式就是这样的:

\branch\b

这相当于搜索工作“牧场”。

关于如何解决这个问题的任何想法?

1 个答案:

答案 0 :(得分:1)

试试这个:nnoremap <leader>K :execute 'grep! "\b"'.expand("<cword>").'"\b"'<CR>:cw<CR>

<cword>将扩展为光标下的当前单词,如:help :<cword>所解释的那样:

<cword>    is replaced with the word under the cursor (like |star|)
<cWORD>    is replaced with the WORD under the cursor (see |WORD|)
<cfile>    is replaced with the path name under the cursor (like what|gf| uses)

Check the help for more info