Non è più possibile utilizzare CTRL + Sinistra / Destra nel Terminale Bash


13

Di solito uso CTRL+ Lefte CTRL+ Rightper navigare tra le parole sulla riga di comando. Ho acceso il mio laptop questa mattina e non posso più farlo. Al contrario, il codice di input CTRL+ Leftviene stampato nel terminale.

Vale a dire: ecco il mio output quando provo a navigare con CTRL+ Left:

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

Curiosamente, posso ancora usare CTRL+ Left/ Rightbene su VIM.


Mayne hai messo qualcosa nel tuo bashrc per abilitare questo? Perché per me non funziona di default su Ubuntu 15.10 ...
— Martin Tournoij,

Si prega di inviare l'output di grep bind ~/.bashrc . Stai acquistando altri file in ~/.bashrc( grep source ~/.bashrc)?
— kos

1
Solo curioso, ma qual è l'output di echo $0?
— Aaron,

Risposte:


15

Apri il ~/.inputrcfile e aggiungi le seguenti righe:

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

Chiudi e riapri shell. Adesso dovresti essere in grado di usare quei tasti.

Ragioni per questo comportamento? Non del tutto certo. Per qualche motivo o l'altro il tuo file è stato bashinterrotto /etc/inputrc, ma dovrebbe essere quello che stai leggendo nella cartella home


Penso che questo problema sia iniziato per me quando ho creato un file ~ / .inputrc. Lo farebbe?
— wjandrea,

1
@wjandrea sì, l'ho provato proprio ora. Prima di avere vuoto ~/.inputrcil bash ha funzionato bene, ha iniziato a mostrare gli stessi caratteri di controllo per l'output una volta ~/.inputrccreato il bianco . Rimosso - Ctrl + tasti freccia funzionano di nuovo. stracerivela che se .inputrcesiste, bash non leggerà /etc/inputrc. Mi occuperò un po 'di più di questo e aggiornerò la mia risposta
— Sergiy Kolodyazhnyy il

1
Se aggiungi $include /etc/inputrcnella parte superiore del ~/.inputrcfile, puoi includere il comportamento a livello di sistema e quindi estenderlo.
— Cory Gross
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.