【发布时间】:2019-12-17 01:13:29
【问题描述】:
我想复制 Sublime Text 的“CTRL-D”行为,它突出显示光标下的当前单词。
* 和 # 在这里不起作用,因为它们会自动移动光标(如 n 和 N),这是我明确不想要的。
为了高亮光标下的当前单词,我发现以下是有效的:
yiw
:let @/=@@
:set hls
如果您手动输入,它会按预期正常工作。
我的问题是我只是不明白我做错了什么将它放在键盘映射上以便我可以绑定它。
到目前为止我尝试过的是:
- 创建一个函数,然后将其映射到一个键:
function SearchWordUnderCursor()
silent! yiw
silent! :let @/ = @@
silent! :set hls
endfunction
- 使用内联键绑定,如下所示:
nmap <C-D> yiw | :let @/ = @@ | :set hls
这两种方法不按预期工作,我不知道我做错了什么。
搜索模式/寄存器设置得很好,但立即突出显示不起作用,您必须手动 n 或 N 一次才能显示突出显示,但这会移动光标,而不是“手动”方法.
为什么像手动输入一样难以完成?
我正在使用 NVIM v0.2.2。
任何帮助表示感谢并提前感谢您。
【问题讨论】:
-
你考虑过插件吗? Vim Mark 效果很好。