Hacer que bash no complete mayúsculas y minúsculas [duplicado]

40

Posible duplicado:
finalización de tabulación sin distinción entre mayúsculas y minúsculas en Bash

¿Hay alguna manera de hacer que la tabulación se complete en bash sin distinción entre mayúsculas y minúsculas? Por ejemplo, si tengo un archivo llamado Hello.txte intento completarlo con pestañas escribiendo heseguido de Tabque no funcionará. Tendría que completarlo con pestañas escribiendo He(observe la H mayúscula) y Tab. ¿Hay alguna forma de configurar bash para que no tenga que preservar el caso cuando lo escribo e intento completarlo con pestañas?

Wuffers
fuente
Me alegra saber que esto funciona en Linux, ya que la otra pregunta es específica de OSX, @sathya
earthmeLon

Respuestas:

55

Cree un archivo nombrado .inputrcen su directorio de inicio y coloque esta línea en él:

set completion-ignore-case on

Luego abra un nuevo shell y pruébelo. Si / etc / inputrc existe en su sistema, generalmente también debe agregar la línea $include /etc/inputrc. Pero no hay forma de hacer esto condicional, por lo que solo debe agregarlo si ese archivo existe.

Gordon Davisson
fuente
14
Esto evitará que bash lea los valores predeterminados /etc/inputrc, rompiendo cosas como la navegación con ctrl-left / right. Asegúrese de agregar $include /etc/inputrcsu ~/.inputrc.
Nicolas Marchildon
1
También puede usar bind -f ~ / .inputrc para recargar este cambio.
obispo
2
Voy a incorporar el comentario de @NicolasMarchildon en la respuesta, porque debería estar allí
Epilon el
Curiosamente, no funciona para mí. Aquí está mi ~/.inputrc: pastebin.com/WVQmrNZu
Aleksei Petrenko
@AlexeyPetrenko Eso me parece bien. ¿Hay algún personaje invisible en el archivo que arruine las cosas? Intente imprimirlo con LC_ALL=C cat -vet ~/.inputrc: debería ver un "$" al final de cada línea, pero nada más gracioso. Además, intente bind -vy vea lo que muestra para la completion-ignore-casevariable. Finalmente, ¿hay algo en otro archivo de inicio de shell que podría estar cambiándolo?
Gordon Davisson el