Je viens de passer de bash à l'utilisation de zsh 4.3.4 sur Ubuntu Hardy. Je développe avec git et je me retrouve constamment en train de me battre avec les compléments par défaut de git: la complétion de nom de fichier essaie d'être intelligente en détectant ce que vous avez ajouté ou supprimé (en utilisant des fichiers git-ls) mais parfois cela se passe mal --- par exemple, si vous êtes dans un sous-répertoire. Il ne connaît pas non plus mes alias git personnalisés (par exemple, git ci comme alias pour commit).
zsh superusers, comment dois-je améliorer cette situation?
Voici quelques-unes de mes réflexions, bien que je ne sache pas comment les implémenter car je suis nouveau sur zsh, alors vous pouvez peut-être aider ou offrir les vôtres:
- Désactivez la complétion du nom de fichier git, en laissant juste la complétion branche / tag / nom-commande / option-commande.
- Remplacez l'achèvement "intelligent" du nom de fichier par l'achèvement normal du nom de fichier zsh.
- Obtenez un fichier d'achèvement _git plus récent, s'il corrige ces bogues, et remplacez celui du système.
Merci!
sudo mv /usr/share/zsh/functions/Completion/Unix/_git /usr/share/zsh/functions/Completion/Unix/OFF_git
Réponses:
Essayez de passer à la dernière version de Zsh. Je viens de passer de 4.3.4 à 4.3.10 et cela résout au moins le problème avec les alias Git qui ne se terminent pas.
Au lieu de pirater mon installation, j'ai ajouté ceci à mon local
.zshrc
:la source
Pour les grands projets, même les nouveaux scripts de complétion git sont beaucoup trop lents. Pour les désactiver et utiliser simplement l'achèvement de fichier normal, placez la commande suivante dans votre .zshrc:
la source