如何在不使用单词边界修饰符的情况下找到光标下的“超级明星”单词?

4
Vim的“超级星”操作(搜索并突出显示光标下的单词)非常方便。但它有一个限制,即只能搜索整个单词的确切匹配。
是否可能具有类似的功能,但没有包含单词边界括号?
更新:显然我发问太快了。在这里,有答案。

2
不需要去其他地方寻找,Vim本身就有答案::help * - romainl
2个回答

4

使用g*可能是最佳方案,但对于新的vim用户来说,了解如何从头开始完成此操作可能会很有趣:

:nnoremap <expr> * "/".expand("<cword>")."/\<CR>"

map <expr>表示右侧不是映射到一个字面键序列,而是一个表达式,该表达式在每次映射发生时被计算,并且生成的字符串就像正常映射的RHS一样处理。

expand("<cword>")返回一个包含光标下单词的字符串,"\<CR>"基本上只是表示回车键。

因此,最终我们得到一个映射到/<光标下单词>/enter的映射,直到使用映射时才插入光标下的单词。


2

答案在这个页面:不要按*,而是使用g*


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接