我今天很忙,还有一个问题:
为什么当我把它们放入 时.inputrc
,它们都做了同样的事情?
TAB: menu-complete
Shift-TAB: menu-complete-reverse
也就是说,他们都按照最后一个所说的去做。
答案1
Readline 对名为 的修饰符一无所知Shift
,并且悄悄地忽略未知的修饰符名称。尝试wibble-TAB
。
要将操作绑定到Shift+ Tab,您需要找出终端发送的转义序列。在 bash 中,运行cat
并输入Ctrl+V然后输入Shift+ Tab。这将按字面意思插入转义序列。第一个字符很可能是转义字符,显示为^[
;不同的终端有不同的转义序列,但常见的可能性是␛[Z
(即转义、左括号、大写 Z)和␛␉
(即转义、制表符)。将密钥适当地绑定在~/.inputrc
(其中\e
表示转义字符)中。
"\e\t": menu-complete-backward
"\e[Z": menu-complete-backward
答案2
在 Xubuntu 16.04 上,终端:xfce4-terminal 0.6.3,shell:bash
为了使Shift+Tab工作,我必须使用:
bind '"\e[Z": menu-complete-backward'