在vim中重新使用默认密钥

在vim中重新使用默认密钥,vim,emacs,keyboard-shortcuts,keyboard-hook,Vim,Emacs,Keyboard Shortcuts,Keyboard Hook,我听说在vim中键入组合键时没有内部函数可调用,这与emacs不同。所以我想将Ctrl-A重新调整为^(比如,nnoremap^);然而,Ctrl-A的原始功能也很吸引人,所以我想将它映射到其他一些键,比如Ctrl-S。我如何用vim的方式实现这一点 这个问题可能会被问到,但我四处搜索,没有找到任何接近的东西。提前谢谢 PS:愚蠢的vim emacs战争到处都是垃圾邮件,我找不到一个真正的解决方案,使所需的功能在另一个环境中工作 以下操作应该可以: nnoremap <C-A> ^

我听说在vim中键入组合键时没有内部函数可调用,这与emacs不同。所以我想将Ctrl-A重新调整为^(比如,nnoremap^);然而,Ctrl-A的原始功能也很吸引人,所以我想将它映射到其他一些键,比如Ctrl-S。我如何用vim的方式实现这一点

这个问题可能会被问到,但我四处搜索,没有找到任何接近的东西。提前谢谢


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

以下操作应该可以:

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

您将注意到,第一个映射将需要一个延迟来执行,因为vim会等待一段时间,以允许您键入第二个映射。如果这让你烦恼,也许会有帮助


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

请澄清您的帖子。您的意思是要在Emacs或Vim中绑定密钥?您正在尝试绑定哪些函数/功能?无论您使用哪种编辑器,都要尝试适应其键。在vim中映射
ctrl-a->^
不是一个好主意,您可以映射
c-a来执行数字+1
但是,当您在屏幕上时,tmux(前缀为c-a),您必须按
ctrl-a
来执行数字+1。你必须映射
ctrl-k,ctrl-f,ctrl-e,ctrl-w…
然后使用emacs,希望你不要在emacs中映射
hjkl
。哦,说到键混淆,大多数时候试图在mac上复制东西都会关闭该窗口:-它对我不起作用。。。我有vim 7.3。此外,说到理想的关键陈词滥调,^的频率实在难以接近;或者我想我真的应该习惯0w combo?它应该在vim 7.3上工作。如果没有进一步的细节,就很难提供任何帮助。即使我只有nnoremap或nmap,当我按C-S时也不会发生任何事情。这是.vimrc中的唯一一行,并且没有.vim文件夹。如果这可能是一个问题,我正在使用mac。试着缩小你的问题范围:它是由“from”还是“to”引起的?例如:尝试映射到其他对象,如
nnoremap iabc
以进入插入模式并插入“abc”;或者尝试将其他一些键映射到。还要查看Vim常见问题解答,在特殊条目20.4和20.5中,我认为这就是问题所在:首先应该映射a而不是a,其次并不意味着Ctrl-S。否则,您的解决方案就可以工作。这个评论对于调试来说是非常好的。谢谢