Recientemente instalé bash-completion
(a través de homebrew). Ahora omite los archivos en la lista de finalización que querer para mostrar, y omite por completo las opciones válidas, como esta:
[alex@mbp foo]$ ls
bar.csv foo.csv
[alex@mbp foo]$ sh ../dosomething.sh fo<TAB>
((nothing shown))
Como usuario pesado de la línea de comandos, esto es extremadamente molesto. ¿Alguien puede decirme cómo deshabilitar este comportamiento? No pude encontrar nada útil en la documentación o en Google.
La finalización de bash Preguntas más frecuentes dice:
P. El código de finalización de bash impide que algunos comandos se completen en archivos con extensiones que son legítimas en mi entorno. ¿Debo deshabilitar la finalización de ese comando para completar los archivos que necesito?
A. No. Use M- / para (en las palabras de la página de manual de bash) intentar completar el nombre del archivo en el texto a la izquierda del cursor. Esto evitará cualquier restricción de tipo de archivo establecida por el código de finalización de bash.
Pero esta no es una solución aceptable para mí; quiero que "TAB" muestre todos los archivos / directorios independientemente de si la extensión es válida para el archivo o no (así es como me ha funcionado bien durante los últimos 20 años).
¿Cómo puedo conseguir esto?
Prefiero un .bashrc
/ .bash_profile
configuración sobre la eliminación de scripts de finalización global. Aquí es cómo actualmente incluyo la finalización de bash (es solo una instalación de homebrew en inventario)
[ -f /usr/local/etc/bash_completion ] && . /usr/local/etc/bash_completion
Actualización: he visto esto Bash completado la pestaña de nombre de archivo pero no es exactamente lo que quiero, ya que requiere demasiado trabajo manual para cada extensión de archivo posible en earth / my system.