如果我输入:
rm <TAB>
我几乎可以立即看到可能的完成情况。
但是,如果我输入:
git rm <TAB>
如果它在 git repo 中,它会挂起几秒钟,或者如果我在 git repo 之外,它会无法显示任何完成。
我该如何修复这个问题?
我的 .zshrc 中没有任何内容看起来与 git 有关 :-/
答案1
答案2
这里还有另一个选择:官方的 Git zsh 补全:git-completion.zsh。您需要做的就是将其下载到~/.zsh/_git
,并确保它在您的 fpath 中:
fpath=(~/.zsh $fpath)
我觉得有趣的是此主题在另一个回复中提到;我启动了该线程,并因此编写了官方的 Git zsh 补全。
答案3
现有的答案都不适用于我(git branch
自动完成功能花费的时间太长了)。
相反,对我来说解决方案是从默认git
插件切换到gitfast
。
我通过一种迂回的方式得到了这个,首先安装 oh-my-zsh,然后启用插件。(可能有更好的方法来实现这一点)
脚步:
oh-my-zsh
通过以下方式安装sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
(根据以下说明原始仓库)- 在您的
~/.zshrc
文件中,用 替换该行plugins=(git)
以plugins=(gitfast)
切换到 gitfast 插件。
答案4
我能够通过结合使用@FelipeC 的答案和这个答案来自类似的 Stack Overflow 问题。
当我只按照@FelipeC 的建议做时,我得到了引用的 Stack Overflow 问题中提到的错误。按照 Stack Overflow 答案中的说明修复了错误,并使 git 自动完成的响应速度更快。