在vim中,Ctrl+的[行为类似于Esc默认情况。但是,我想重新绑定Ctrl+[以执行自定义操作。(具体来说,要Ctrl-t因为我觉得这样更自然[,并]有用于CTAGS互补行动。)
但是,当我执行命令时:
:nnoremap <C-[> <C-t>
然后我的箭头键导航就搞砸了。我不确定会发生什么,但是显然这不是理想的方法。
我试图取消绑定Ctrl+,[但是vim报告它没有绑定,并且我尝试了一些技巧,例如先将Ctrl+绑定[到自身,然后再取消绑定。总是相同的结果。
旁注:有趣的是,当我将其添加到我.vimrc
的命令中(作为最后一个命令)时,情况甚至更糟。不确定性发生,并且vim在以下三种状态之一中随机打开:
底部状态行显示“ E73:标签栈为空”,这意味着它收到了Ctrl+ t-esque命令,但是,如果按了导航键j,它将删除当前行和底部行,然后使我进入插入模式。(大约70%的时间。)
有时它处于替换模式。(大约发生15%的时间。)
有时它处于正常模式。(大约发生15%的时间。)
如何正确地将Ctrl+重新映射[到中的其他函数.vimrc
?
您无法重新绑定Ctrl[。在终端中按Escape键发送Ctrl[,就像按Tab键发送一样CtrlI。没有单独的Esc代码。
尝试这种操作时,Vim可能表现得很疯狂,因为基本上每个ANSI按键序列都以开头Ctrl[,因此您的重新绑定会在所有终端输入上触发,并且按键序列中的其他内容看起来像是要发送给Vim的更多命令。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句