Ya no se puede usar CTRL + Izquierda / Derecha en la Terminal Bash

13

Usualmente uso CTRL+ Lefty CTRL+ Rightpara navegar entre palabras en la línea de comandos. Encendí mi computadora portátil esta mañana y ya no puedo hacerlo. En cambio, el código de entrada CTRL+ Leftse imprime en el terminal.

Es decir: aquí está mi salida cuando intento navegar con CTRL+ Left:

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

Curiosamente, todavía puedo usar CTRL+ Left/ Rightmuy bien en VIM.

Jugoso
fuente
¿Puedes poner algo en tu bashrc para permitir esto? Porque no funciona de manera predeterminada para mí en Ubuntu 15.10 ...
Martin Tournoij
Por favor, publique la salida de grep bind ~/.bashrc . ¿Está buscando otros archivos en ~/.bashrc( grep source ~/.bashrc)?
kos
1
Simplemente curioso, pero ¿cuál es el resultado de echo $0?
Aaron

Respuestas:

15

Abra el ~/.inputrcarchivo y agregue las siguientes líneas:

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

Cierre y vuelva a abrir shell. Ahora debería poder usar esas teclas.

¿Razones para este comportamiento? No del todo seguro. Por alguna razón u otra, bashdejó de leer el /etc/inputrcarchivo, pero debería estar leyendo el que está en su carpeta de inicio

Sergiy Kolodyazhnyy
fuente
Creo que este problema comenzó cuando creé un archivo ~ / .inputrc. ¿Eso lo haría?
wjandrea
1
@wjandrea sí, lo probé hace un momento. Antes de dejar en blanco, ~/.inputrcel bash funcionó bien, comenzó a mostrar los mismos caracteres de control para la salida una vez que ~/.inputrcse creó el blanco . Eliminado: Ctrl + teclas de flecha funcionan de nuevo. stracerevela que si .inputrcexiste, bash no leerá /etc/inputrc. Me equivocaré un poco más con esto y actualizaré mi respuesta
Sergiy Kolodyazhnyy
1
Si agrega $include /etc/inputrca la parte superior de su ~/.inputrcarchivo, puede incluir el comportamiento de todo el sistema y luego extenderlo.
Cory Gross