Estou em um rolo hoje, aqui está outra pergunta:
Como é que, quando eu as coloco .inputrc
, as duas fazem a mesma coisa?
TAB: menu-complete
Shift-TAB: menu-complete-reverse
ou seja, ambos fazem o que o último diz.
Estou em um rolo hoje, aqui está outra pergunta:
Como é que, quando eu as coloco .inputrc
, as duas fazem a mesma coisa?
TAB: menu-complete
Shift-TAB: menu-complete-reverse
ou seja, ambos fazem o que o último diz.
Respostas:
O Readline não sabe nada sobre um modificador chamado Shift
e ignora silenciosamente nomes desconhecidos de modificadores. Tente wibble-TAB
.
Para vincular uma ação ao Shift+ Tab, você precisa descobrir qual sequência de escape o seu terminal envia. No bash, execute cat
e digite Ctrl+ Ve Shift+ Tab. Isto irá inserir a sequência de escape literalmente. É provável que o primeiro caractere seja um caractere de escape, mostrado como ^[
; terminais diferentes têm seqüências de escape diferentes, mas as possibilidades comuns são ␛[Z
(ou seja, escape, colchete esquerdo, maiúscula Z) e ␛␉
(ou seja, escape, guia). Ligue a chave adequadamente em ~/.inputrc
(onde \e
significa um caractere de escape).
"\e\t": menu-complete-backward
"\e[Z": menu-complete-backward
cat
evita qualquer ligação ao bash. Normalmente, o bash tem a mesma ligação Ctrl + V para inserir literalmente o próximo caractere, para que não faça diferença.
$ cat <Enter> <Shift+Tab>
quais telas ^[[Z
Sempre adiciono \e
antes da sequência de onde recebo Ctrl+V
? Isso se traduz em:"\e^[[Z": shell-expand-command
^[
por `\ e`
^[Z
trabalhou para mim (BASH); Obrigado pela resposta detalhada! :)