Como eu gero a seqüência “\ e [Z” em um terminal?

4

Ela está vinculada a menu-complete na linha de leitura do GNU.

$ bind -p|grep menu
"\e[Z": menu-complete
# menu-complete-backward (not bound)
# old-menu-complete (not bound)

Eu acho que é Meta- alguma coisa.

    
por Ernest A 03.01.2014 / 02:25

1 resposta

5

Procure no banco de dados terminfo para o seu terminal a chave que envia essa sequência de escape. O comando infocmp faz o dump da entrada terminfo para o terminal atual.

$ infocmp | grep -oE ' k[[:alpha:]]+=\E\[Z,'
 kcbt=\E[Z,

A página do manual terminfo explica em que cbt é a abreviação de. (Ele também dá um exemplo que corresponde à maioria dos terminais lá fora.)

$ man 5 terminfo | grep -w kcbt
       key_btab                      kcbt       kB        back-tab key
             kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B,

Então você tem: \e[Z é backtab, ou seja, Shift + Tab (na maioria dos terminais).

    
por 03.01.2014 / 02:36