Zsh hoàn thành công thức pha chế


12

Trong OS X, có cách nào để có các công thức hoàn thành tab Zsh (Tôi đang sử dụng Oh-my-zsh ) không?

Ví dụ

$ brew install em<TAB>

có thể mở rộng sang:

$ brew install emacs

Câu trả lời:


4

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-completionsgần đây đã xóa _brewhoà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.


Đối với bất kỳ ai quan tâm $fpath$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.
Amelio Vazquez-Reina

12

Hãy thử cài đặt zsh-completionscô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-completionscông thức.


2
compinit -inên giải quyết các cảnh báo "thư mục không an toàn" thay vì chmod.
ngựa vằn không đáng kể

đối với lỗi "thư mục không an toàn", hãy sử dụng compauditđể xác định thư mục nào cần thay đổi quyền của họ
user2561747
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.