如何在bash vi模式下修改〜/ .inputrc括号自动完成?

时间:2014-03-06 10:54:19

标签: bash autocomplete readline

使用emacs模式可以完成以下工作:

"(": "\C-v()\e[D"

但是如果你在开头添加以下内容:

set editing-mode vi

它不再起作用了。任何解决方案?

另外,在哪里可以找到编辑inputrc文件的好参考资料?

1 个答案:

答案 0 :(得分:0)

在〜/ .inputrc中添加以下内容可以解决问题:

set editing-mode vi
set keymap vi-insert
"\C-b": backward-char
"(": "\C-v()\C-b"
"[": "\C-v[]\C-b"
"{": "\C-v{}\C-b"
"\"": "\C-v\"\C-v\"\C-b"
"\047": "\C-v\047\C-v\047\C-b"

或〜/ .bashrc:

set -o vi
bind -m vi-insert '"(" "\C-v()\ei"'
bind -m vi-insert '"[" "\C-v[]\ei"'
bind -m vi-insert '"{" "\C-v{}\ei"'
bind -m vi-insert '"\"" "\C-v\"\C-v\"\ei"'
bind -m vi-insert '"\047" "\C-v\047\C-v\047\ei"'