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

前端 未结 6 2092
悲哀的现实
悲哀的现实 2021-01-31 03:49

Git\'s tab autocompletion is useful for small projects, but I\'m currently working on two big projects that use git and for these it\'s worse than useless. Whenever I type, say,

6条回答
  •  独厮守ぢ
    2021-01-31 04:51

    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.

提交回复
热议问题