A conclusão da guia ZSH dos comandos git é muito lenta. Como posso desligá-lo?

18

Se eu digitar:

rm <TAB>

Vou ver possíveis conclusões quase instantaneamente.

No entanto, se eu digitar:

git rm <TAB>

Ele ficará travado por vários segundos se estiver em um repositório git ou falhará em mostrar conclusões se estiver fora de um repositório git.

Como posso corrigir esse comportamento?

Não há nada no meu .zshrc que pareça ter a ver com git: - /

Casey Rodarmor
fonte
+1 Isso me deixa tão maluca que eu liguei meu cérebro para não bater <TAB>ao usar o git.
Christopher

Respostas:

26

Eu finalmente me preocupei em pesquisar no Google e achei essa resposta SO, que funcionou perfeitamente para mim. Adicione isto a .zshrc:

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

Há também uma lista profunda de discussão aqui explicando o que zshestá fazendo para levar tanto tempo.

Christopher
fonte
11
Isto não funcionou para mim. Estou carregando os seguintes plugins oh-my-zsh: plugins = (git gitfast last-working-dir zeus). Carreguei a função acima após os plugins.
justingordon
11
Eu tive o mesmo problema. Comentando para confirmar o sucesso: no OSX 10.8.5, zsh 4.3.11, git 1.8.2, essa entrada .zshrc fez toda a diferença. Sem ele, a CPU fixava regularmente 100%. Com isso, a conclusão da guia parece a mesma para os comandos git que qualquer outra. Obrigado! :)
cweekly
Certifique-se de colocar esse comando antes dos plugins zsh, caso contrário, você poderá terminar com o preenchimento automático rápido, mas com erros quando tentar executar o comando git.
Simon
1

Aqui está outra opção: a conclusão oficial do Git zsh: git-conclusão.zsh . Tudo o que você precisa fazer é fazer o download ~/.zsh/_gite garantir que esteja no seu fpath:

fpath=(~/.zsh $fpath)

Acho interessante que esse tópico seja mencionado em outra resposta; Comecei esse tópico e escrevi a conclusão oficial do Git zsh como resultado.

FelipeC
fonte