É possível alterar a ligação de chave para conclusão no bash shell?

4

Para bash , gostaria de modificar a chave da guia para conclusão na chave de escape. Eu sei que as ligações de teclas estão definidas em /etc/inputrc .

Mas não sei se algo assim poderia funcionar:

'"\e" : complete'

Eu quero fazer isso porque meus usuários eram do Solaris, onde a chave de escape faz o preenchimento automático.

    
por antoine4790 30.04.2014 / 17:13

2 respostas

4

Sim, é possível alterar a ligação de chave ou adicionar ligações de tecla à função complete . Esta função é tipicamente ligada por padrão a Tab (que é o mesmo que Ctrl + i ) e Esc seguido por outro Esc . No entanto, não é possível ligar a chave Esc por si mesma a qualquer função Readline. Isso ocorre porque a chave Esc é especial e serve a alguns propósitos específicos no Readline.

A tecla Esc é usada como um prefixo para outras sequências de teclas, portanto, entrar um Esc é apenas configurar a parte inicial de uma sequência de teclas completa reconhecida por Leia a linha. Para ver a lista de todas as seqüências pré-mixadas Esc reconhecidas no bash, por exemplo:

bind -p | grep '"\e'

Devido ao modo como os terminais Unix são manipulados, uma seqüência de chaves pré-mixada Esc é geralmente a mesma que uma combinação Alt -key. Então Esc seguido por u é exatamente igual a Alt + u .

A tecla Esc também é usada para sair do modo de busca de histórico interativo do Readline.

    
por 30.04.2014 / 18:24
0

A dupla pressão de escape tem o mesmo efeito que a única tecla de pressão. Desta forma, escape já está configurado para conclusão.

    
por 21.08.2016 / 09:50