在大多数用例中,我使用 * 命令只是为了突出显示源代码中的当前单词,以确保它被正确输入。
我怎样才能让星号命令停留在当前单词上?
如果不可能的话,我该如何绑定另一个键来实现这一点?
答案1
我认为最简单的解决方案就是这种映射:
:nnoremap * *``
最后两个字符是两个反引号,用于将光标恢复到原始位置。另一种解决方案是
:nnoremap * *N
但这会将光标移动到单词的开头。这两种解决方案的缺点是,如果下一个匹配项不在屏幕上,您的屏幕可能会滚动。这可以通过函数来解决——这取决于您想要的行为以及您想要投入多少工作。
编辑:
刚想到另一个根本不移动光标的简单方法。
:nmap <silent> * :let @/='\<'.expand('<cword>').'\>'<CR>
答案2
快速破解:
:nnoremap * *N
这将在使用 搜索光标下的单词后执行向后搜索*
。