😺
MacでGitのタブ補完を有効にする方法
概要
MacでGitのタブ補完を有効にする方法を備忘録として共有します。
実行環境
- Apple M1 Pro
- zsh
手順
1. Homebrew がインストールされているか確認
brew --version
バージョンが表示されればOK。
インストールされていなければ公式サイトからインストールしてください。
2. zsh-completionsをインストール
brew install zsh-completions
/opt/homebrew/share/zsh-completionsにインストールされます。
3. .zshrc に設定を追加
vi ~/.zshrc
.zshrcを開きます。
# zsh-completionsをfpathに追加
fpath=("/opt/homebrew/share/zsh-completions" $fpath)
# compinit を読み込む
autoload -Uz compinit
compinit
ファイルの末尾に上記を追加します。
autoload :遅延ロードできる関数として登録(zshの関数をコマンドで呼べるようにするコマンド)
compinit :Tab補完機能自体を有効化する関数です(fpathの中から補完機能を読み込みます)
-U :関数を読み込むときに設定済のエイリアスを無視する設定です
-z :Zsh用の関数であることを明示(儀礼的)
4. 設定を反映
source ~/.zshrc
これで完了です。
確認を求められたとき
zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]?
zsh compinit: 安全でないディレクトリが見つかりました。一覧表示するには compaudit を実行してください。
安全でないディレクトリを無視して続行しますか [y] それとも compinit を中止しますか [n]?
zsh-completionsをインストールしたディレクトリのパーミッションが過剰だとこの確認が表示されるようです。
無視して続行しても良いですが、chmodで権限変更をしておくのが良いと思います。
sudo chmod -R go-w /opt/homebrew/share
-R :再帰的にそのフォルダ配下のディレクトリやファイルの権限も変更します
go-w :g = group、o = othersから-w = 書き込み権限を削除します
ちなみにcompauditコマンドでどのディレクトリが安全でないかを見ることができます。
compaudit
例
There are insecure directories:
/opt/homebrew/share
Discussion