🫶
MacのTerminalで補完を有効にする
TL; DR
.zshrcに以下の設定を追加する
if type brew &>/dev/null
then
FPATH="$(brew --prefix)/share/zsh/site-functions:${FPATH}"
autoload -Uz compinit
compinit
fi
注意
- 対象のCLIアプリがHomebrewでインストールされていること
- 補完が実装されていること(有名なアプリなら大体実装されている)
説明
-
brewでインストールしたアプリの補完用のファイルは
$(brew --prefix)/share/zsh/site-functions
に自動で配置される。brew install時に以下のようなメッセージが表示される。prefixは/opt/homebrew
などになる。==> gh zsh completions have been installed to: /opt/homebrew/share/zsh/site-functions
-
このディレクトリを
FPATH
に追加してcompinit
を実行することで、brewでインストールしたアプリの補完が有効になる。 -
上記の設定ではbrewがインストールされているかをif文で確認しFPATHに追加、
compinit
を実行している。 -
もし
compinit
を.zshrc
のさらに下で実行している場合はif文内で実行する必要はない。
Discussion