Gitコマンドをタブキーで補完できるようにする
CLIで操作する際に、Gitコマンドをタブキーで補完できるようにする方法をメモしておきます。
Gitをインストールしただけでは、タブキーでコマンドを補完することはできませんが、実は設定ファイルはインストールの際に準備されており、それを使うことで簡単に有効化することができます。その設定ファイルというのが git-completion.bashです。環境によってパスは違いますが、例えば以下のような感じです。(Bash以外については調べきれていません)
- CentOSにGitをyumでインストールした場合
/usr/share/doc/git-1.7.1/contrib/completion/git-completion.bash - MacにGitのサイトからdmgをダウンロードしインストールした場合
/usr/local/git/contrib/completion/git-completion.bash
設定方法
1 2 3 4 5 6 7 8 9 10 11 12 13 | # git-completion.bash の在処を探す find / -name git-completion.bash # 必要に応じて git-completion.bash を任意の場所にコピー # .bashrc に git-completion.bash を読み込むように記す vi ~/.bashrc # 例えば、以下のような感じ source /usr/share/doc/git-1.7.1/contrib/completion/git-completion.bash # .bashrc の再読み込み source ~/.bashrc |
CentOSにGitをyumでインストールしたときの例だと、 git-completion.bashのパスにバージョンが含まれているので、Gitのアップデートがあると無効になると思います。どこかにコピーするのも一つの手ですが、そうすると git-completion.bashを最新の状態に保つのが難しくなりそうですね。これについては実際にアップデートが行われたあとに見てみたいと思います。
設定方法(2012年9月5日追記)
Git Proの2.7 Git の基本 – ヒントと裏技を読んで、よりスマートな導入方法がわかりましたので、メモしておきます。上記で紹介した分か、どちらか一方を実行しましょう。
すべてのユーザーに対してGit用のBashシェル補完を使わせたい場合は、以下のパスに git-completion.bashをコピーします。
OS | パス |
---|---|
CentOS等のLinux系OS | /etc/bash_completion.d |
Macでbash-completionをMacPortsでインストールしている | /opt/local/etc/bash_completion.d |
Macでbash-completionをHomebrewでインストールしている | /usr/local/etc/bash_completion.d |
bash-completionに関しては、以下の記事を参考にしてください。
Macにbash-completionをインストールし補完を活用する
1 2 3 4 5 6 7 8 | # CentOS cp /usr/share/doc/git-1.7.1/contrib/completion/git-completion.bash /etc/bash_completion.d/git # MacPortsでbash-completionをインストールしている cp /usr/local/git/contrib/completion/git-completion.bash /opt/local/etc/bash_completion.d/git # Homebrewでbash-completionをインストールしている cp /usr/local/git/contrib/completion/git-completion.bash /usr/local/etc/bash_completion.d/git |