L'achèvement de l'onglet ZSH des commandes git est très lent. Comment puis-je l'éteindre?


18

Si je tape:

rm <TAB>

Je verrai les achèvements possibles presque instantanément.

Cependant, si je tape:

git rm <TAB>

Il va se bloquer pendant plusieurs secondes s'il est dans un référentiel git, ou ne pas afficher de fin si je suis en dehors d'un référentiel git.

Comment puis-je résoudre ce problème?

Il n'y a rien dans mon .zshrc qui semble avoir à voir avec git: - /


+1 Cela me rend tellement fou que j'ai câblé mon cerveau pour ne pas frapper <TAB>lorsque j'utilise git.
Christopher

Réponses:


26

J'ai finalement pris la peine de google cela et j'ai trouvé cette réponse SO, qui a parfaitement fonctionné pour moi. Ajoutez ceci à .zshrc:

__git_files () { 
    _wanted files expl 'local files' _files     
}

Il y a aussi un fil de liste de diffusion profonde ici à ce sujet en expliquant ce qui zshest en train de faire prendre si longtemps.


1
Cela n'a pas fonctionné pour moi. Je charge les plugins oh-my-zsh suivants: plugins = (git gitfast last-working-dir zeus). J'ai chargé la fonction ci-dessus après les plugins.
justingordon

1
J'ai eu le même problème. Commentant pour confirmer le succès: sur OSX 10.8.5, zsh 4.3.11, git 1.8.2, cette entrée .zshrc a fait toute la différence. Sans elle, cpu épingle régulièrement à 100%. Avec cela, la complétion des onglets semble à peu près la même pour les commandes git que pour les autres. Je vous remercie! :)
cweekly

Assurez-vous de placer cette commande avant vos plugins zsh, sinon vous pourriez vous retrouver avec une autocomplétion rapide, mais des erreurs une fois que vous essayez d'exécuter réellement la commande git.
Simon

1

Voici une autre option: l'achèvement officiel de Git zsh: git-complétement.zsh . Tout ce que vous avez à faire est de le télécharger ~/.zsh/_gitet de vous assurer qu'il se trouve dans votre fpath:

fpath=(~/.zsh $fpath)

Je trouve intéressant que ce fil soit mentionné dans une autre réponse; J'ai commencé ce fil, et j'ai écrit l'achèvement officiel de Git zsh en conséquence.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.