使用zsh编译Brew Git Bash自动补全功能

5

我从Mac Port改为使用Homebrew

我正在使用zsh,我安装了brew git git-extra和bash-completion。但是我仍然看不到像Mac Ports一样自动显示git完成的功能。

3个回答

5

不,zsh-completions(正如页面所说)完全是关于额外的补全。git zsh补全已经内置到zsh中了(而且git也带有更好的bash补全,但你可以通过一些工作在zsh中使用bash补全)。 - Tim Diggins

2

在zsh中配置自动完成

要在zsh中使用Homebrew的自动完成功能,您必须在初始化zsh的自动完成功能之前将Homebrew管理的zsh站点函数添加到您的FPATH中。请将以下内容添加到您的~/.zshrc文件中:

if type brew &>/dev/null
then
  FPATH="$(brew --prefix)/share/zsh/site-functions:${FPATH}"

  autoload -Uz compinit
  compinit
fi

此外,如果您在加载这些补全时收到“zsh compinit:insecure directories”警告,则可能需要运行以下命令:
chmod -R go-w "$(brew --prefix)/share"

来源:https://docs.brew.sh/Shell-Completion#configuring-completions-in-zsh

这篇文章介绍了如何在zsh中配置命令补全,使用Homebrew安装的软件可以方便地启用shell自动补全功能。要配置自动补全,请将以下代码添加到您的~/.zshrc文件中:
autoload -Uz compinit && compinit
如果您已经有了类似于compinit的命令,则不需要重复添加该命令。配置完成后,您可以通过键入部分命令并按下Tab键来启用自动补全功能。

2
您需要将以下配置添加到您的.zshrc文件中:
zstyle ':completion:*:*:git:*' script
/usr/local/etc/bash_completion.d/git-completion.bash


fpath=(/usr/local/share/zsh/site-functions $fpath)

请查看下面的答案。 - whitespy9

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接