Ajustando o autocompletar zsh git

9

Eu apenas mudei do bash para usar o zsh 4.3.4 no Ubuntu Hardy. Estou desenvolvendo com o git e me vejo constantemente lutando com as conclusões padrão do git: a conclusão do nome do arquivo tenta ser inteligente detectando o que você adicionou ou removeu (usando o git-ls-files), mas às vezes ele faz as coisas errarem --- por exemplo, se você estiver em um subdiretório. Ele também não sabe sobre meus aliases personalizados do git (por exemplo, git ci como um alias para commit).

superusuários zsh, como devo melhorar essa situação?

Aqui estão alguns dos meus pensamentos, embora eu não saiba como implementá-los como sou novo no zsh, então talvez você possa ajudar ou oferecer o seu próprio:

  • Desative a conclusão do nome do arquivo git, deixando apenas a conclusão da ramificação / tag / nome do comando / opção de comando.
  • Substitua a conclusão do nome de arquivo "inteligente" pelo preenchimento regular do nome do arquivo zsh.
  • Obtenha um arquivo de conclusão _git mais novo, se ele corrigir esses bugs e substitua o do sistema.

Obrigado!

    
por Emil Sit 24.09.2009 / 18:33

2 respostas

4

Tente atualizar para a versão mais recente do Zsh. Acabei de atualizar de 4.3.4 para 4.3.10 e, pelo menos, corrige o problema com aliases do Git não concluídos.

Em vez de invadir minha instalação, adicionei isso ao meu local .zshrc :

customzsh=/usr/local/src/zsh-4.3.10/bin/zsh-4.3.10
if [ "$SHELL" != "$customzsh" ]; then
  export SHELL=$customzsh
  exec $customzsh
fi
    
por 10.11.2009 / 04:38
4

Para projetos grandes, até mesmo os scripts de conclusão mais recentes são muito lentos. Para desabilitá-los e apenas usar a conclusão normal do arquivo, coloque o seguinte comando em seu .zshrc:

compdef -d git
    
por 30.09.2011 / 22:15

Tags