2012-09-07 83 views
3

我使用Dvorak键盘布局,因此我对默认的VIM映射做了一些调整 - 我做出的一个更改是重新映射右侧的主页行键到消除在VIM中重新映射“d”键时的延迟

noremap d h 
noremap h j 
noremap t k 
noremap n l 

因此,移动键的位置很方便,就像QWERTY用户一样。 h,tn他们的工作很好,并且响应速度非常快。 d,然而,滞后一段时间,然后离开它应该的方式。我认为这是因为存在以d开头的键序命令(如删除行为dd),所以VIM正在等待接收序列中的第二个笔画,然后执行命令,仅执行一个'd'。我已经重新映射dd

noremap dd hh 

但是,这是不是做的伎俩。然而,对于诸如d3wd$d之后的文本对象)的命令不起作用(在重新映射d之后),因此它们不会导致问题。任何人都知道如何摆脱滞后?顺便说一句,即使禁用所有插件后,我也有同样的问题。在我的vimrc中,我也没有与d的其他映射。

回答

5

AFAIK,d,c和他们的“运营商待定”朋友不是真的映射。这意味着你不能:unmap d。我相信,如果没有副作用,你所经历的延迟是不可避免的。

你可能想玩:h timeout:h timeoutlen

对于它的价值,替代布局/ Vim的故事是...复杂。 And not settled at all.

+0

嗯...感谢您的链接。受到这篇文章中的建议的启发,我想我可能会尝试只用一把钥匙将所有的移动命令移动到正确的位置,以便所有的移动键实际上都直接放在我家右边的右手指下。我已经将'k'重新映射到'd',但是我可以将'd'重新映射到's'。 –