Terminal 如何将'stty intr'更改为另一个组合键,以便将^c用于zsh vi模式?
在Terminal 如何将'stty intr'更改为另一个组合键,以便将^c用于zsh vi模式?,terminal,zsh,oh-my-zsh,Terminal,Zsh,Oh My Zsh,在vi模式下使用zsh时,我想使用Ctrl-c返回到正常的vim模式。我使用以下方法成功地取消了它的映射: stty intr ^- stty intr undef 然后在我的.zshrc中使用bindkey'^c'vi cmd模式。一切正常,但如何将我的Ctrl-c功能恢复到另一个键绑定?添加作为一个答案,作为记录: stty intr^E或类似产品应能工作: 把问题放在一边,如果改变^C的含义是明智的:简单地stty intr^E或类似的东西不起作用?@user2719058该死的,我想我
vi模式下使用zsh
时,我想使用Ctrl-c
返回到正常的vim模式。我使用以下方法成功地取消了它的映射:
stty intr ^-
stty intr undef
然后在我的.zshrc
中使用bindkey'^c'vi cmd模式。一切正常,但如何将我的Ctrl-c
功能恢复到另一个键绑定?添加作为一个答案,作为记录:
stty intr^E
或类似产品应能工作: 把问题放在一边,如果改变^C的含义是明智的:简单地stty intr^E
或类似的东西不起作用?@user2719058该死的,我想我已经试过了!我所做的是尝试将其分配给ctrl和大写字母c,并最终将其重新绑定到c,因为这似乎不可能s作为答案提交,以便我能接受。谢谢:)@user2719058,这是否明智。。这是唯一能使我免于不断地打它的东西。我在Vim中使用它,反射太强了……顺便说一句,关于这个问题的标记,我认为它与外壳无关,而是与终端有关。@Vim
中的狄奥尼西斯(除非映射为escape)不会触发缩写和InsertLeave事件,这对于某些插件来说(尤其是第二个)是必不可少的。如果插件使用CursorHoldI和CursorMovedI自动命令,您也可能会意外地取消它们(不太可能,但可能:这些自动命令往往会得到优化,因为让它们变慢会让用户非常失望,从而立即删除插件)。无论是否映射
,后者都是问题所在。在^
具有特殊含义()的shell中,您可以将stty
的第二个参数放在引号中:stty intr'^E'