在VIM中重新映射'd'键时消除延迟

Sea*_*sey 3 vim macvim

我使用了Dvorak键盘布局,因此我对默认的VIM映射进行了一些调整 - 我做的一个更改就是将右侧的主行键重新映射到

noremap d h
noremap h j
noremap t k
noremap n l
Run Code Online (Sandbox Code Playgroud)

因此,移动键可以方便地定位,就像QWERTY用户一样. h,t并且n做好自己的工作并且反响敏捷. d然而,在离开它应该的方式之前,它会滞后一会儿.我认为这是因为有一些键序列命令开始d(比如dd删除行),所以VIM在执行命令之前等待接收序列中的第二个笔划,只需要一个'd'.我重新映射dd:

noremap dd hh
Run Code Online (Sandbox Code Playgroud)

但这不是诀窍.然而,诸如d3w或d$(后面的文本对象d)之类的命令不起作用(在重新映射之后d),因此它们不会导致问题.谁知道如何摆脱滞后?顺便说一句,即使禁用所有插件后,我也遇到了同样的问题.d我的vimrc中也没有其他映射.

rom*_*inl 5

据我所知,d,c和他们的"经营者待定"的朋友都没有真正的映射.这意味着你不能:unmap d.我相信,如果没有副作用,你所经历的延迟是无法避免的.

你可能想玩:h timeout和:h timeoutlen.

对于它的价值,替代布局/ Vim故事是......复杂的.并没有解决.