Wie bindet man Shift-Tabeine Tastenkombination an eine Aktion in Bash?
Shift-TabIch habe versucht, den Schlüsselcode der Kombination herauszufinden, indem ich
# sed -n l
^[[Z
\033[Z$
^C
Und
# read a ; echo $a | hexdump -cC
^[[Z
0000000 033 [ Z \n
00000000 1b 5b 5a 0a |.[Z.|
00000004
Auf dieser Grundlage gehe ich davon aus, dass der Schlüsselcode lautet \e[Z
. Das bind "\e[Z":menu-complete-backward
sollte also funktionieren. Allerdings bindet es die Aktion an \.
$ 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 <
Antwort1
Versuchen Sie, den Parameter in einfache Anführungszeichen zu setzen:
bind '"\e[Z":menu-complete-backward'