2014-03-06 35 views
0

我愿做这样的事情在bash:左键退出插入模式

bind -m vi-insert '"{" "\C-v{}\e[D"' 

这个工程除了autoclosing后}并把光标放在中间,它也退出插入模式,这非常烦人。

+0

我已经更新了我的答案[这里](http://stackoverflow.com/a/11661658/1126841)来解决你的问题。 – chepner

回答

2

给定的宏假定Emacs键绑定;插入大括号后,转义序列\e[D将光标向左移动一个单元格,将其放置在大括号之间。在vi模式下,\e具有退出插入模式并返回命令模式的效果。一个简单的解决方法是离开插入模式,然后立即重新进入,这也将光标重定位在你想要的位置;没有明确的光标移动是必要的。

bind -m vi-insert '"{" "\C-v{}\ei"'