【发布时间】:2014-12-15 06:13:30
【问题描述】:
我无法让 git 完成以在 zsh shell 中在我新安装的 OS X Yosemite 上工作。我已经使用自制软件安装了 git 和 zsh:
brew install zsh git
当通过 homebrew 安装 git 时,它应该为你设置 tab-completion,但是当我 git <tab> 时,它只是尝试 tab-complete 目录,而不是 git-commands。 IE。它没有给出任何错误 - 它只是不工作 - 就像它没有设置一样。
这是我目前所知道的
显然,zsh 将通过在$fpath 的目录之一中查找_* 文件来寻找自动完成的方法。这是我的:
% echo $fpath
/usr/local/share/zsh/site-functions /usr/local/Cellar/zsh/5.0.6/share/zsh/functions
看看我们看到的第一条路径:
% ls -l /usr/local/share/zsh/site-functions
lrwxr-xr-x 1 watson admin 55 Oct 20 12:08 _git -> ../../../Cellar/git/2.1.2/share/zsh/site-functions/_git
lrwxr-xr-x 1 watson admin 70 Oct 20 12:08 git-completion.bash -> ../../../Cellar/git/2.1.2/share/zsh/site-functions/git-completion.bash
所以它似乎设置为开箱即用 - 但事实并非如此。
这也是我尝试过的
git-completion.bash
- 下载中git-completion.bash
- 使用
source git-completion.bash运行它
这种工作(即它启用自动完成),但它会打印一个警告:
WARNING: this script is deprecated, please see git-completion.zsh
git-completion.zsh
因此,由于上述警告,我显然也尝试下载 git-completion.zsh 并按照文件顶部的指南进行操作,但它基本上告诉您首先获取 .bash 文件,这仍然给出了一个原因错误。
搜索 StackOverflow 和 Google
我已经尝试了通过在此处和在 Google 上搜索可以找到的几乎所有内容,但似乎没有什么对我有用。
【问题讨论】:
-
git-completion.zsh脚本不会告诉您获取 .bash 文件,脚本会自行完成,它只需要知道位置即可。由于您将两个文件都放在同一个目录中,这就是您所需要的。