Acabei de mudar do bash para o zsh 4.3.4 no Ubuntu Hardy. Estou desenvolvendo com o git e me pego 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 arquivos git-ls-files), mas às vezes as coisas estão erradas --- 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 confirmação).
superusuários zsh, como devo melhorar essa situação?
Aqui estão alguns dos meus pensamentos, embora eu não saiba como implementá-los porque sou novo no zsh, então talvez você possa ajudar ou oferecer o seu:
- Desative a conclusão do nome de arquivo git, deixando apenas a conclusão de branch / tag / command-name / command-option.
- Substitua a conclusão do nome de arquivo "inteligente" pela conclusão regular do nome de arquivo zsh.
- Obtenha um arquivo de conclusão _git mais recente, se ele corrigir esses erros, e substitua o do sistema.
Obrigado!
sudo mv /usr/share/zsh/functions/Completion/Unix/_git /usr/share/zsh/functions/Completion/Unix/OFF_git
Respostas:
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 os aliases do Git não concluídos.
Em vez de invadir minha instalação, adicionei isso ao meu local
.zshrc
:fonte
Para projetos grandes, mesmo os scripts mais recentes de conclusão do git são muito lentos. Para desativá-los e usar a conclusão normal de arquivos, coloque o seguinte comando no seu .zshrc:
fonte