问题描述
当我升级到Catalina时,我切换到zsh,并且总体上感到非常高兴,尤其是完成了just work
个没有任何工作的完成。但是在过去一周左右的某个时间,完工工作停止了。对于别名co
来说,{别名}一直在起作用(再次,我没有做任何事情),以便我可以做
checkout
但是现在,即使像子命令这样的BASIC补全也不起作用
% git co mybr<tab> # becomes git co mybranch
所以我做了一些基本的调查。我的fpath在下面显示,唯一的定制似乎是酿造卡在/ usr / local / share
中的东西% git checko<tab> # nothing. doh!
任何人都知道为什么我的pristineuser ~ % echo $fpath
/usr/local/share/zsh/site-functions /usr/share/zsh/site-functions /usr/share/zsh/5.7.1/functions
pristineuser ~ % ls /usr/local/share/zsh/site-functions /usr/share/zsh/site-functions
/usr/local/share/zsh/site-functions:
_brew _brew_cask
/usr/share/zsh/site-functions:
pristineuser ~ % ls -1 /usr/share/zsh/5.7.1/functions | grep git
VCS_INFO_detect_git
VCS_INFO_get_data_git
_git
_git-buildpackage
_stgit
_topgit
run-help-git
zsh补全不能正常工作(甚至是简单的子命令),或者如何调试发生的事情?
解决方法
所以,我不确定发生了什么。但是,只要遵循基本原理并阅读有关zsh补全的文档,我便会添加:
autoload -Uz compinit && compinit
到达我的.zprofile
,一切正常。
我不清楚这以前是如何工作的(更改为OSX默认值并进行了更新?更有可能是我自己进行了一些其他方面的任意编辑?)