In OS X, is there any way to have Zsh (I'm using Oh-my-zsh) tab-complete formulas?
E.g.
$ brew install em<TAB>
could expand to:
$ brew install emacs
In OS X, is there any way to have Zsh (I'm using Oh-my-zsh) tab-complete formulas?
E.g.
$ brew install em<TAB>
could expand to:
$ brew install emacs
Try installing the zsh-completions
formula.
$ 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
It also looks like zsh may have some compatibility with bash completions. You could try that in conjunction with the bash-completions
formula.
Homebrew provides it's own completion. You just need to link the file $(brew --prefix)/Library/Contributions/brew_zsh_completion.zsh
to _brew
somewhere in your $fpath
.(See comment at the start of https://github.com/Homebrew/homebrew/blob/master/Library/Contributions/brew_zsh_completion.zsh)
zsh-completions
recently removed its _brew
completion in favour of that file, see https://github.com/zsh-users/zsh-completions/issues/305.
Update 2016-04-19: At some point(1) Homebrew updated its handling of zsh completion again. Now if you install zsh via Homebrew it should "just work". The file is installed to /usr/local/share/zsh/site-functions/_brew
.
$fpath
and $FPATH
to accommodate these new completion functions in Zsh
, this Q&A may be informative.
– Amelio Vazquez-Reina
Feb 08 '16 at 16:48
/home/linuxbrew/.linuxbrew/share/zsh/site-functions
And since I am using ohmyzsh that path doesn't seem to be included in $FPATH
.
– Arne
Mar 23 '22 at 10:50
brew completions link
will add brew's shell completions to the shell. Not sure what it does in detail, though.
– Arne
Mar 23 '22 at 10:58
compinit -i
should solve the the "insecure directories" warnings rather than chmod. – taddy hoops May 16 '15 at 02:23compaudit
to determine which directories should have their permissions changed – user2561747 May 11 '18 at 03:32