🫶

MacのTerminalで補完を有効にする

2024/07/26に公開

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