Si tengo varios directorios, como:
afoo abar
a veces, mi terminal rechazará la función de autocompletar cuando presiono la pestaña (por ejemplo, "cd a" y luego la pestaña), e imprimirá la lista de directorios en su lugar. A veces incluso emite un sonido ruidoso y molesto. ¿Alguna idea de cómo hacer que se complete automáticamente en casos como este? Por ejemplo, puede mostrar abar primero y luego afoo si presiono tabulador nuevamente. Vi que este es el caso en Windows, o alguna aplicación en Ubuntu
Mejor respuesta
Algo que me salva la vida es hacer que bash recorra las posibilidades en lugar de mostrar una lista tonta.
Como bash está usando readline
para su finalización automática, agregue las siguientes líneas a ~/.inputrc
Una vez que esté satisfecho y haya probado minuciosamente la siguiente solución durante unos días/semanas, corte y pegue (¡no copie!) la misma configuración de ~/.inputrc
a /etc/inputrc
que contiene la configuración de todo el sistema, lo que hace que esté disponible para todos los usuarios de su sistema (incluido el invitado).
El código:
# mappings to have up and down arrow searching through history:
"e[A": history-search-backward
"e[B": history-search-forward
# mappings to have left and right arrow go left and right:
"e[C": forward-char
"e[D": backward-char
# mapping to have [Tab] and [Shift]+[Tab] to cycle through all the possible completions:
"t": menu-complete
"e[Z": menu-complete-backward
luego exit
su terminal (o terminal remoto como PuTTY) y ábralo de nuevo...
Ejemplos:
-
Cuando tienes 3 archivos:
file1
,file2
yfile3
y escribes:e fTabTabTab
recorrerá:
e file1 e file2 e file3
y cuando quiera retroceder, simplemente presione Shift +Tab
-
Cuando escribes:
very-complicated-command with lots of command line parameters
y la próxima vez que necesite el mismo comando, simplemente escriba:
very↑
y te escribirá:
very-complicated-command with lots of command line parameters