Não é mais possível usar CTRL + Esquerda / Direita no Terminal Bash


13

Eu costumo usar CTRL+ Lefte CTRL+ Rightpara navegar entre as palavras na linha de comando. Troquei meu laptop esta manhã e não posso mais fazer isso. Em vez disso, o código de entrada CTRL+ Lefté impresso no terminal.

Ou seja: Aqui está a minha saída quando tento navegar com CTRL+ Left:

~ $ test test ;5D;5D;5D

Curiosamente, ainda posso usar CTRL+ Left/ Rightmuito bem no VIM.


Você pode colocar algo no seu bashrc para permitir isso? Porque ele não funciona por padrão para mim no Ubuntu 15.10 ...
Martin Tournoij 11/03/16

Por favor, publique a saída de grep bind ~/.bashrc . Você está adquirindo outros arquivos em ~/.bashrc( grep source ~/.bashrc)?
kos

1
Apenas curioso, mas qual é o resultado echo $0?
Aaron

Respostas:


15

Abra o ~/.inputrcarquivo e adicione as seguintes linhas:

# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\e[1;5C": forward-word
"\e[1;5D": backward-word

Feche e reabra o shell. Agora você deve poder usar essas chaves.

Razões para esse comportamento? Não tenho muita certeza. Por alguma razão ou outra, seu arquivo bashparou de ler /etc/inputrc, mas deve estar lendo o da sua pasta pessoal


Acho que esse problema começou para mim quando criei um arquivo ~ / .inputrc. Isso faria isso?
Wjandrea

1
@ Wjandrea sim, eu testei isso agora. Antes de deixar o espaço em branco, ~/.inputrco bash funcionava bem, começou a mostrar os mesmos caracteres de controle para a saída depois que o espaço em branco ~/.inputrcfoi criado. Removido - as teclas Ctrl + seta funcionam novamente. stracerevela que, se .inputrcexistir, bash não lerá /etc/inputrc. Eu vou ao redor mexer com isso um pouco mais e atualizar a minha resposta
Sergiy Kolodyazhnyy

1
Se você adicionar $include /etc/inputrcà parte superior do seu ~/.inputrcarquivo, poderá incluir o comportamento em todo o sistema e, em seguida, estendê-lo.
Cory bruto
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.