【发布时间】:2014-03-06 10:54:18
【问题描述】:
在 emacs 模式下,以下工作:
"(": "\C-v()\e[D"
但如果你在开头添加以下内容:
set editing-mode vi
它不再起作用了。有什么解决办法吗?
另外,我在哪里可以找到编辑 inputrc 文件的好参考?
【问题讨论】:
标签: bash autocomplete readline
在 emacs 模式下,以下工作:
"(": "\C-v()\e[D"
但如果你在开头添加以下内容:
set editing-mode vi
它不再起作用了。有什么解决办法吗?
另外,我在哪里可以找到编辑 inputrc 文件的好参考?
【问题讨论】:
标签: bash autocomplete readline
将以下内容添加到 ~/.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"'
【讨论】: