在vim中重新调整默认密钥

时间:2014-09-18 17:37:52

标签: vim emacs keyboard-shortcuts keyboard-hook

我听说在vim中键入一个键组合时没有内部函数可以调用,这与emacs不同。所以我想将Ctrl-A重新用于^(比如,nnoremap< C-A> ^);但是,Ctrl-A的原始功能也很吸引人,所以我想将它映射到其他键,比如Ctrl-S。我怎样才能以vim的方式做到这一点?

这个问题可能会被问到,但是我四处寻找并没有发现任何接近的问题。提前谢谢。

PS:愚蠢的vim-emacs战争到处都是垃圾邮件,我无处可寻找真正的解决方案,让所需的功能在另一个环境中工作。

1 个答案:

答案 0 :(得分:2)

以下内容应该:

nnoremap <C-A> ^
nnoremap <C-A>A <C-A>

这是有效的,因为noremap告诉vim不应用任何其他映射,因此上面第二个映射的rhs是默认的<Ctrl-A>

您会注意到第一个映射会延迟执行,因为vim会等待一段时间以允许您键入第二个映射。如果这困扰你,Vim-FAQ 20.16可能会有所帮助。

但我建议不要更改默认映射,因为,explained here,vim有很多默认映射,当你开始使用它时可能看起来很傻。当你更好地理解它时,你将很难找到另一个映射它的键或习惯旧的/默认映射。