Tweaking zhou git autocompletion

Ho appena commutato da bash per usare zsh 4.3.4 su Ubuntu Hardy. Sto sviluppando con git e mi trovo in costante combattimento con i completamenti di default di git: il completamento del nome del file cerca di essere intelligente rilevando ciò che hai aggiunto o rimosso (utilizzando git-ls-files), ma a volte le cose si sbagliano — ad esempio, se sei in una sotto-directory. Inoltre non conosce i miei alias personalizzati di git (ad esempio, git ci come alias per commit).

zsh superusers, come dovrei migliorare questa situazione?

Ecco alcuni dei miei pensieri, anche se non so come implementarli perché sono nuovo a zsh, forse puoi aiutarti o offrire il tuo:

  • Distriggersre il completamento del nome del file git, lasciando solo il completamento del file branch / tag / command-name / command-option.
  • Sostituire il completamento del nome del file "intelligente" con il completamento normale del file di zsh.
  • Ottieni un nuovo file di completamento di _git, se corregge questi bug e sovrascrive il sistema.

Grazie!

Provare ad aggiornare l'ultima versione di Zsh. Ho appena aggiornato da 4.3.4 a 4.3.10 e alless risolve il problema con alias Git che non completano.

Invece di hacking la mia installazione ho aggiunto questo al mio locale .zshrc :

 customzsh=/usr/local/src/zsh-4.3.10/bin/zsh-4.3.10 if [ "$SHELL" != "$customzsh" ]; then export SHELL=$customzsh exec $customzsh fi 

Per grandi progetti, anche gli script di completamento di git più recenti sono troppo lenti. Per distriggersrli e utilizzare solo il normale completamento dei file, inserire il seguente command nel tuo .zshrc:

 compdef -d git