ZSH auto completion for git takes significant amount of time, can I turn it off or optimize it?

It's not git auto completing the file names, it's your shell. Do you have the same delay when doing e.g. "cat forms< tab >"?

Check out this post with similar problems:

http://talkings.org/post/5236392664/zsh-and-slow-git-completion

This post suggests adding the following to your .zshrc:

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

EDIT: Here's the original text of that post

I found many posts relating complaints about how painfully slow git auto-completion can be in large repositories. There were various suggested patches and suggestions to load the latest zsh. Maybe one of those things would work, but all I really want is for it to complete the names of branches and files as they are in the file system. I did not find any suggestions on how to get this behavior so I figured it out for myself. I thought I would share this for anyone who might benefit from it. I just added the following to my .zshrc file:

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

Now I can run git commands and get near instant completion while still getting file completion similar to what ls would provide.


Finally fed up with terribly slow auto-completion in zshell and starting looking a solution. I ended up switching from 'git' to using the 'gitfast' plugin that is already installed w/ oh my zsh and am flying... https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins#gitfast


I have no experience with zshell, but I got this answer on another forum. You need to include this line in your .zshrc file:

compdef -d git