Answers:
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
cat
可避免任何bash绑定。通常bash具有相同的Ctrl + V绑定,可以按字面意义插入下一个字符,因此不会有所不同。
$ cat <Enter> <Shift+Tab>
哪个显示中^[[Z
,我是否总是总是在\e
从中得到的序列之前添加Ctrl+V
?这是否转换为:"\e^[[Z": shell-expand-command
^[
`\ e`代替
^[Z
为我工作(BASH);感谢您的详细回答!:)