manager instalar how full descargar cygwin64 bash cygwin bash-completion

bash - instalar - Completar la pestaña Cygwin Git



instalar cygwin (7)

Instalé Cygwin en Windows y uno de los paquetes predeterminados es la finalización de la pestaña git, pero no la he completado.

Hice una búsqueda y encontré una nota que decía que no estaba habilitada de forma predeterminada. Copié el skel .bashrc and .bash_profile to ~ and in .bashrc , descomenté las líneas para completarlas y luego volví a lanzar la consola. Aún nada.

Luego me di cuenta de que el archivo .bash_completion no estaba presente en /etc , por lo que encontré una copia de eso en línea y lo puse en su lugar, pero aún no estoy completo en git.

Parece que también debería haber un directorio /etc/bash_completion.d con git/ en él, pero tampoco tengo eso.


A partir de mayo de 2016, pude lograr que la finalización de la pestaña git & svn funcionara simplemente instalando el paquete bash-completed utilizando la utilidad de configuración de Cygwin (v2.874) que se encuentra aquí: https://www.cygwin.com/install.html . Asegúrese de seleccionar la opción ''Instalar desde Internet''. El paquete de finalización de bash se incluye en la categoría Shells.


En mi .bashrc

for file in /etc/bash_completion.d/* ; do source "$file" done


La respuesta anterior imprime bash: have: command not found para casi todos los scripts en bash_completion.d /. Esta respuesta del post vinculado me lo resuelve:

if [ -f /etc/bash_completion ]; then . /etc/bash_completion fi

El script / program / etc / bash_completion ya incluye los scripts en /etc/bash_completion.d y también define algunas funciones que necesitan los scripts incluidos.

Sin embargo, tenga en cuenta que esto ralentizará la carga de su shell, especialmente en Cygwin (para mí se redujo a aproximadamente 1 segundo). Para mitigar esto, puede cambiar el nombre de todo en /etc/bash_completion.d/ a *.bak , y luego eliminar el .bak de los comandos que realmente le interesan (gracias al tiempo de carga lento de bash en cygwin ).

Actualización: el archivo /etc/bash_completion desapareció mágicamente (parece que se debió a la actualización del paquete de finalización de bash a 2.1-1). Como solución rápida, acabo de crear un enlace simbólico en / etc para /usr/share/bash-completion/bash_completion .

Actualización 2: volver a leer la pregunta original, el problema de no tener un directorio /etc/bash_completion.d puede estar relacionado con no instalar el paquete "bash-completed" en Cygwin.



Para instalar el paquete "git-completed" ejecutado desde cmd.exe:

cyg-get git-completion

No necesitas modificar tu .bashrc después de eso.


Tuve que instalar los siguientes paquetes de Cygwin:

  • bash-completion
  • bash-completion-devel

Actualizado para 2016: Instala el paquete bash-completion .