Como você configura o .inputrc para que o ALT + UP tenha o efeito de cd

6

Deverá ser possível fazer isso com ALT + UP gerando entrada de teclado consecutiva equivalente a c d espaço . . ENTER por meio de uma definição de macro. Mas não consigo descobrir exatamente como fazer isso.

    
por artistoex 19.03.2011 / 18:38

1 resposta

16

Para fazer literalmente o que você está perguntando, coloque a seguinte linha no seu ~/.inputrc :

"\e\e[A": "cd ..\n"

Aqui \e\e[A é a seqüência de bytes que o seu terminal envia quando você pressiona Alt + Acima ( \e é analisado como caractere de escape), alguns terminais podem enviar \e[1;3A~ ou alguma outra sequência. Para descobrir qual sequência seu terminal envia, execute cat e pressione a tecla (escape será exibido como ^[ ).

No bash, você pode, em princípio, vincular uma chave ao código shell, portanto, em teoria, isso deve funcionar:

bind -x '"\e\e[A":cd ..'

No entanto, a partir do ano 4.2 ele não funciona devido a um bug de implementação difícil de corrigir . O especialista do Zsh Stéphane Chazelas tem uma solução alternativa:

bind -x '"1":cd ..'
bind '"\e\e[A":"1"'

O efeito é um pouco confuso porque o prompt não é redesenhado.

No bash ≥4, adicione shopt -s autocd ao seu ~/.bashrc . Então você pode mudar para o diretório pai (ou qualquer diretório) inserindo apenas .. , sem ter que digitar o comando cd .

    
por 19.03.2011 / 22:55

Tags