【注意!】M1 Macでは以下と異なるので、インストール後に、brew info zsh-completion
を実行して、それに従うこと
公式手順のとおりに従うだけなんだけど、新しいMacを買うたびに、いつも調べようとするので、備忘録のために手順をアウトプットしておく。
公式サイトは以下。 github.com
まずは、homebrew でインストール
% brew install zsh-completion
インストールすると以下のメッセージがでるので、これを無視せずに実施するのが重要。
"zsh compinit: insecure directories"
への対処法についても、brewでインストールしたあとのメッセージに対処法がちゃんと以下のように書かれている(が後述の対応が必要だった)。
==> Caveats To activate these completions, add the following to your .zshrc: if type brew &>/dev/null; then FPATH=$(brew --prefix)/share/zsh-completions:$FPATH autoload -Uz compinit compinit fi 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'
なので、言われたとおりに、.zshrcに以下を追加し、
if type brew &>/dev/null; then FPATH=$(brew --prefix)/share/zsh-completions:$FPATH autoload -Uz compinit compinit fi
以下でzcompdumpをリビルドし、
% rm -f ~/.zcompdump; compinit
補完ファイルが入っているディレクトリの権限を変更しておく。ちなみに、chmod go-w
は、自分以外の人(groupとothers)は書き込みできなくなる設定にするもの。
% chmod go-w '/usr/local/share'
と、思ったら、/usr/local/share
の権限を変えてもだめっぽいので、結局compauditコマンドで表示されたディレクトリに対して、以下のようにした。
% chmod go-w '/usr/local/share' % chmod go-w '/usr/local/share/zsh' % chmod go-w '/usr/local/share/zsh/site-functions'
ちなみに、このあと自分はいつもbrew install git
もする。
brewでgitをインストールしておくと、zsh-completion用のgitの設定ファイルが/usr/local/share/zsh/site-functions以下に置かれて便利なので。