Acho que os programas que você está usando usam a biblioteca readline para ler entrada. Então eu acho que você configurou mal a biblioteca readline. O arquivo de configuração do sistema é /etc/inputrc
e o arquivo por usuário é ~/.inputrc
. Você provavelmente coloca uma barra invertida demais em uma ligação, de modo que, em vez de vincular um comando a uma sequência de escape, você a vincula a uma sequência que começa com uma barra invertida.
Direita: "\e[1;5C": forward-word
(sequência de escape enviada por Ctrl + Esquerda )
Errado: "\e[1;5C": forward-word
( \ e [ 1 ; 5 C )
Se o problema fosse apenas no bash, a ligação problemática estaria em ~/.bashrc
. Observe que em .bashrc
, a ligação acima seria escrita bind "\e[1;5C: forward-word"
, com duas barras invertidas, porque o bash faz uma rodada de expansão de barra invertida antes de passar a definição para a linha de leitura. ( bind '\e[1;5C: forward-word'
também funcionaria, pois as barras invertidas perdem seu significado especial entre aspas simples.)