Yobb

駆け出しWebエンジニアのブログ

Macのターミナルでgitコマンドを補完できるようにする

経緯とか

cloud9 を使ってRails チュートリアルやった後にローカルでもやっていたところ、gitコマンドの補完が効かないことに気がつく。

こんなの (途中まで入力してTabキーで補完) f:id:sho-ezawa-dev:20170223104224g:plain

調べてみたら、Git-Completionを有効にしないとダメみたいだったのでやることに。

しかし、予想より手こずってしまったので手順をメモ。

環境

作業中は気が付かなかったが、Gitはデフォルでインストールされていたものを利用していた。

Git-Completion って何?

gitのタブ補完ツール。特にブランチ名補完が便利。 ブランチ名が長くなりがちなGithub Flow での開発では無いとかなり不便。

gitがインストール済みなら既にbashスクリプトとして何処かにあるはず。 それを.bashrc とかから読み込むように設定するだけ。

手順

0.bash-completion をHomeBrew 経由でインストールする

Git Completion のbash を直接読み込んでもよいが、これを利用する方がよりスマート。

$ brew list

で表示された一覧の中にbash-completion があれば、このステップは不要。

bash-completion がなかった場合は、

$ brew install bash-completion

でインストールする。

その後、~/.bash_profile に以下を追記する。

# bash completion
if [ -f $(brew --prefix)/etc/bash_completion ]; then
  . $(brew --prefix)/etc/bash_completion
fi

1.Git Completion の有効化

まず、git-comletion.bash というファイルを探す。 このファイルは、インストール方法によって保存されている場所が違うので検索を推奨。

$ mdfind -name git-completion.bash

git-completion.bash のフルパスが出力されるのでそれをコピー。

以下のコマンドを使って、bash-completionのフォルダにgit という名前でコピーする。

$ cp [git-completion.bashのフルパス] /usr/local/etc/bash_completion.d/git

ターミナルを再起動して、試しにgit bra まで入力してTabキーを押してみて補完されれば成功です。

参考

Gitコマンドをタブキーで補完できるようにする | mawatari.jp

おまけ: OSXのターミナルで、クリップボードにコピーする時に末尾の改行コードを削除する - Qiita