Câu trả lời:
Homebrew cung cấp sự hoàn thành của riêng nó. Bạn chỉ cần để liên kết các tập tin $(brew --prefix)/Library/Contributions/brew_zsh_completion.zsh
để _brew
đâu đó trong bạn $fpath
. (Xem comment vào đầu https://github.com/Homebrew/homebrew/blob/master/Library/Contributions/brew_zsh_completion.zsh )
zsh-completions
gần đây đã xóa _brew
hoàn thành để ủng hộ tệp đó, xem https://github.com/zsh-users/zsh-completions/issues/305 .
Cập nhật 2016-04-19: Tại một số điểm ( 1 ) Homebrew đã cập nhật việc xử lý hoàn thành zsh một lần nữa. Bây giờ nếu bạn cài đặt zsh qua Homebrew thì nó sẽ "chỉ hoạt động". Các tập tin được cài đặt để /usr/local/share/zsh/site-functions/_brew
.
Hãy thử cài đặt zsh-completions
công thức.
$ brew info zsh-completions
zsh-completions: stable 0.10.0, HEAD
https://github.com/zsh-users/zsh-completions
Not installed
From: https://github.com/Homebrew/homebrew/commits/master/Library/Formula/zsh-completions.rb
==> Caveats
To activate these completions, add the following to your .zshrc:
fpath=(/usr/local/share/zsh-completions $fpath)
You may also need to force rebuild `zcompdump`:
rm -f ~/.zcompdump; compinit
Additionally, if you receive "zsh compinit: insecure directories" warnings when attempting
to load these completions, you may need to run this:
chmod go-w /usr/local/share
Dường như zsh có thể có một số khả năng tương thích với hoàn thành bash . Bạn có thể thử kết hợp với bash-completions
công thức.
compinit -i
nên giải quyết các cảnh báo "thư mục không an toàn" thay vì chmod.
compaudit
để xác định thư mục nào cần thay đổi quyền của họ
$fpath
và$FPATH
để phù hợp với các chức năng hoàn thành mới nàyZsh
, Q & A này có thể là thông tin.