在vim中,有没有办法重新绑定"*"以突出显示当前的单词,而不是前进到下一个单词?

sta*_*tti 3 vim editor key-bindings

我经常使用*来突出显示当前单词的所有实例,并且它前进到下一个单词的事实非常烦人.我想禁用这种行为,因为我知道如果我真的需要前进,我总能使用"n".

任何见解?

编辑:我应该补充一点,我想不惜一切代价避免屏幕重绘,因为它在视觉上分散注意力.

DrA*_*rAl 9

试试这个:

nnoremap * :let @/ = "\\<<C-R><C-W>\\>"<CR>
Run Code Online (Sandbox Code Playgroud)

(假设你有'hlsearch').这只是将当前搜索模式更改为光标下的单词(由单词边界包围\<\>匹配).如果您已hlsearch启用,则会突出显示该单词. n然后N将正常工作.

看到:

:help :let-@
:help quote/
:help c_CTRL-R_CTRL-W
Run Code Online (Sandbox Code Playgroud)

  • `let @/='\ <'.expand('<cword>').'\>'<cr>`效果也不错. (2认同)