我想在bash中做这样的事情:
bind -m vi-insert '"{" "\C-v{}\e[D"'
除了autoclosing之后这个工作}并将光标放在中间,它也退出插入模式,这非常烦人。
答案 0 :(得分:2)
给定的宏假定Emacs键绑定;插入大括号后,转义序列\e[D
将光标向左移动一个单元格,将其定位在大括号之间。在vi模式下,\e
具有退出插入模式并返回命令模式的效果。一个简单的解决方法是退出插入模式,然后立即重新输入,这也将光标重新定位在您想要的位置;没有明确的光标移动是必要的。
bind -m vi-insert '"{" "\C-v{}\ei"'