git命令的ZSH选项卡完成非常慢。如何关闭它?


18

如果输入:

rm <TAB>

我几乎会立即看到可能的完成。

但是,如果我键入:

git rm <TAB>

如果它在git repo中,它将挂起几秒钟;如果我不在git repo之外,它将无法显示任何完成。

如何解决此问题?

我的.zshrc中没有任何内容与git有关:-/


+1这让我发呆,以至于我<TAB>在使用git时连脑都打不动。
Christopher

Answers:


26

我终于费心去谷歌搜索,并提出了这样的答案,这对我来说非常有效。将此添加到.zshrc

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

还有一个深刻的邮件列表线程在这里它解释什么zsh是做给这么长的时间。


1
这对我没有用。我正在加载以下oh-my-zsh插件:plugins =(git gitfast last-working-dir zeus)。我在插件之后加载了上述功能。
justingordon

1
我有同样的问题。注释以确认成功:在OSX 10.8.5,zsh 4.3.11,git 1.8.2上,.zshrc条目起到了很大作用。没有它,CPU通常固定在100%。有了它,git命令的制表符补全似乎与其他命令几乎相同。谢谢!:)
cweekly 2014年

确保将此命令放在zsh插件之前,否则可能会导致快速自动补全,但是在尝试实际运行git命令时出错。
西蒙(Simon)

1

这是另一个选择:官方的Git zsh完成:git-completion.zsh。您所需要做的就是将其下载到~/.zsh/_git,并确保它在您的fpath中:

fpath=(~/.zsh $fpath)

我发现在另一个响应中提到该线程很有趣。我启动了该线程,并因此编写了正式的Git zsh完成。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.