我听说在vim中键入一个键组合时没有内部函数可以调用,这与emacs不同。所以我想将Ctrl-A重新用于^(比如,nnoremap< C-A> ^);但是,Ctrl-A的原始功能也很吸引人,所以我想将它映射到其他键,比如Ctrl-S。我怎样才能以vim的方式做到这一点?
这个问题可能会被问到,但是我四处寻找并没有发现任何接近的问题。提前谢谢。
PS:愚蠢的vim-emacs战争到处都是垃圾邮件,我无处可寻找真正的解决方案,让所需的功能在另一个环境中工作。答案 0 :(得分:2)
以下内容应该:
nnoremap <C-A> ^
nnoremap <C-A>A <C-A>
这是有效的,因为noremap
告诉vim不应用任何其他映射,因此上面第二个映射的rhs是默认的<Ctrl-A>
。
您会注意到第一个映射会延迟执行,因为vim会等待一段时间以允许您键入第二个映射。如果这困扰你,Vim-FAQ 20.16可能会有所帮助。
但我建议不要更改默认映射,因为,explained here,vim有很多默认映射,当你开始使用它时可能看起来很傻。当你更好地理解它时,你将很难找到另一个映射它的键或习惯旧的/默认映射。