Bash — сочетание клавиш Shift-Tab

Bash — сочетание клавиш Shift-Tab

Как привязать Shift-Tabсочетание клавиш к действию в Bash?

Я пытался узнать код ключа Shift-Tabкомбинации

# sed -n l
^[[Z
\033[Z$
^C

и

# read a ; echo $a | hexdump -cC
^[[Z
0000000 033   [   Z  \n
00000000  1b 5b 5a 0a                                       |.[Z.|
00000004

Исходя из этого, я предполагаю, что код клавиши — \e[Z. Так что bind "\e[Z":menu-complete-backwardдолжно сработать. Однако он привязывает действие к \.

$ bind -p > bind.before
$ bind "\e[Z":menu-complete-backward
$ bind -p > bind.after
$ diff -y  --suppress-common-lines bind.before bind.after
# menu-complete-backward (not bound)                          | "\\": menu-complete-backward
"\\": self-insert                                             <

решение1

Попробуйте заключить параметр в одинарные кавычки:

bind '"\e[Z":menu-complete-backward'

Связанный контент