2010-06-27 30 views
9

我只是发现了在bash中使用vi风格的魔力。立即,我试图用C-c从插入模式转换(进入所谓的移动模式),因为我习惯C-c在vim中转换为命令模式。Bash vi模式 - 绑定“C-c”以从插入模式转义

我寻找了一圈,发现命令重新绑定键在bash:

"bind -m vi-insert C-c:vi-movement-mode" 

然后,我用“绑定-P”检查绑定状态,它显示:

"..." 
"vi-movement-mode can be found on "\C-c", "\e"." 

然而,当我试图从插入模式转义出来时,它清除了整行代码(默认行为),而不是转移到移动模式......任何想法如何使用Cc从插入模式转义?

在此先感谢。

+0

+1显示我bash vi模式存在 – 2010-06-27 06:54:29

回答

2

您可以重新绑定中断键:

stty intr ^X 

我们中断东西是执行你必须按下Ctrl键 - X。我不知道如果改变这可能会有其他副作用。

vim可以这样做的原因是它捕获了Ctrl-c中断。

2

您也可以使用旧把戏映射大写锁定到ESC:

xmodmap -e 'clear Lock' 
xmodmap -e 'keycode 0x42 = Escape' 

这基本上类似于如何使用键盘来马上开始工作。

+0

是的,但这似乎只适用于Xwindow,是啊? – Patrick 2012-01-20 04:29:01

+0

我敢打赌,你是对的。 – crenate 2012-01-20 20:26:57