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

时间:2011-03-02 11:01:22

标签: vim editor key-bindings

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

有什么见解?

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

4 个答案:

答案 0 :(得分:9)

试试这个:

nnoremap * :let @/ = "\\<<C-R><C-W>\\>"<CR>

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

请参阅:

:help :let-@
:help quote/
:help c_CTRL-R_CTRL-W

答案 1 :(得分:2)

试试this Vim Tip。我发现它非常有用。最有趣的是你可以有更多的比赛,每个比赛都有不同的颜色。

答案 2 :(得分:1)

我无法给出确切的答案,但this Vim Tip会告诉您,当Vim处于空闲状态时,您需要添加到.vimrc以简单地突出显示光标下的单词。

没有任何键重映射工作......

答案 3 :(得分:1)

您可以重新映射它以返回:

nnoremap * '*N'

(但这会重绘屏幕)