Cygwin git onglet achèvement

J'ai installé Cygwin sur windows et l'un des paquets par défaut est git tab completion, mais je n'ai pas de tab completion.

j'ai fait quelques recherches et j'ai trouvé une note disant qu'elle n'est pas activée par défaut. J'ai copié le skel .bashrc and .bash_profile to ~ and in .bashrc , j'ai décommenté les lignes pour les compléter et j'ai relancé la console. Toujours rien.

j'ai alors remarqué que le fichier .bash_completion n'était pas présent dans /etc , donc j'ai trouvé une copie de ce site et de le mettre en place, mais je n'ai toujours pas terminé avec git.

il semble qu'il devrait y avoir aussi un répertoire /etc/bash_completion.d avec git/ , mais je ne l'ai pas non plus.

29
demandé sur Theodore R. Smith 2013-09-10 19:20:19
la source

7 ответов

mise à jour pour 2016: Install package bash-completion .

45
répondu sesm 2016-05-21 10:23:08
la source

la réponse ci-dessus imprime bash: have: command not found pour presque tous les scripts de bash_complete.d/. Cette réponse dans le message lié résout pour moi:

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

le script /programme/etc /bash_completion inclut déjà les scripts dans/etc / bash_completion.d et définit également certaines fonctions nécessaires aux scripts inclus.

cependant, méfiez-vous que cela ralentira le chargement de votre coquille, surtout à Cygwin (ralentie à environ 1 seconde de charge pour moi). Pour atténuer cela, vous pouvez tout Renommer dans /etc/bash_completion.d/ *.bak , puis enlever le .bak sélectivement les commandes se soucient réellement (merci à Ralentir le temps de chargement de bash dans cygwin ).

mise à Jour: Le fichier /etc/bash_completion comme par magie disparu (on dirait que c'est en raison de la mise à niveau du bash-completion paquet 2.1-1). Comme solution rapide, je viens de créer un lien symbolique dans /etc vers /usr/share/bash-completion/bash_completion .

mise à jour 2: en relisant la question originale, le problème avec l'absence d'un répertoire /etc/bash_completion.d pourrait être lié au fait de ne pas installer le paquet" bash-completion " dans Cygwin.

8
répondu Johann 2017-05-23 15:03:08
la source

Dans mon .bashrc

 for file in /etc/bash_completion.d/* ; do
    source "$file"
 done
6
répondu 2013-09-10 19:45:10
la source

pour installer le paquet" git-completion " lancé par cmd.exe:

cyg-get git-completion

Vous n'avez pas besoin de modifier votre .bashrc par la suite.

3
répondu Evmorov 2015-03-07 17:32:27
la source

j'ai dû installer les paquets Cygwin suivants:

  • bash-completion
  • bash-completion-devel
3
répondu Alfredo Carrillo 2018-02-10 07:56:10
la source

depuis mai 2016, j'ai été en mesure de faire fonctionner git & svn tab completion en installant simplement le paquet bash-completion en utilisant L'utilitaire Cygwin setup utility (v2.874) trouvé ici: https://www.cygwin.com/install.html . Assurez-vous de sélectionner "Installer à partir d'Internet". Le paquet bash-completion est répertorié dans la catégorie Shells.

2
répondu bblues 2016-05-10 19:08:18
la source

je suis tombé sur le même problème il y a quelques jours et installer bash-completion n'était pas suffisant.

le problème a été résolu dans mon cas téléchargement https://github.com/git/git/blob/master/contrib/completion/git-completion.bash et la copie en /etc/bash_completion.d/

voir aussi: https://git-scm.com/book/en/v1/Git-Basics-Tips-and-Tricks

2
répondu vito 2017-05-19 17:48:31
la source

Autres questions sur