我想复制 Sublime Text 的“CTRL-D”行为,突出显示光标下的当前单词。
*并且#在这里不起作用,因为它们会自动移动光标(如n和N),这是我明确不想要的。
为了突出显示光标下的当前单词,我发现以下方法是有效的:
yiw
:let @/=@@
:set hls
Run Code Online (Sandbox Code Playgroud)
如果您手动输入此内容,它会按预期正常工作。
我的问题是,我只是不明白我把它放在键盘映射上以便绑定它时做错了什么。
到目前为止我尝试过的是:
创建一个函数,然后将其映射到一个键:
function SearchWordUnderCursor()
silent! yiw
silent! :let @/ = @@
silent! :set hls
endfunction
Run Code Online (Sandbox Code Playgroud)
使用内联键绑定,如下所示:
nmap <C-D> yiw | :let @/ = @@ | :set hls
Run Code Online (Sandbox Code Playgroud)
这两种方法都不能按预期工作,我不知道我做错了什么。
搜索模式/寄存器设置得很好,但立即突出显示不起作用,您必须手动n或N一次才能显示突出显示,但这会移动光标,而不是“手动”方法。
为什么它像手动输入一样很难完成?
我正在使用 NVIM v0.2.2。