zshでgitを快適に使いやすくするためのターミナル設定(zsh編)

  • Macのターミナルがzshでもgitを使いやすくしたい
  • gitコマンドの補完をできるようにしたい
  • bashからzshにgitの設定を移管したい

前回はMacのターミナルがbashの場合のgit設定を書きました。

Mac OSがCatalinaからはターミナルの標準シェル設定がzshになっているので、現在はzshを使っている人の方が多いかもしれません。

そこで、zshでもbash同様にgitのブランチ表示やコマンド補完をできるように設定する方法を紹介します。

対応する設定は以下となります。

  • gitのコマンドの補完を可能にする
  • 現在のブランチ名を表示する
  • ターミナルのプロンプト表示をbashの時と合わせる

zshでの設定においては、表示をbashの時となるべく同じになるように設定していきたいと思います。

今回も前提条件としてhomebrewを利用してgitをインストールした場合を対象として書きます。

homebrewを利用してのgitのインストール方法はこちらの記事を参照ください。

今回の記事はMacのターミナルがzshになっている人向けの記事です。
bashを使用している人はbash編の記事や、bashへの切り替え方法の記事を参照ください。

この記事でわかること
  • Macのターミナル(bash)からgitの補完を行う方法
  • 現在のブランチ情報をターミナルに表示させる方法
目次

.zshrcの設定

bashの設定では.bashrcを利用しましたが、zshでの設定は.zshrcファイルを設定していきます。

1.Git用のタブ補完ライブラリの設定

まずはgitの補完を行えるようにシェル関数の読み込みを追加します。

.zshrcに以下の補完ライブラリの設定を追加

# シェル関数`compinit`の自動読み込み
autoload -Uz compinit && compinit

この記載だけでタブ補完が可能になります。

詳しくは以下のgitページに書いてありますので、一読するといいと思います。

2.ブランチ名や状態を表示する

続いて現在のbranch名やソースツリーの状態を表示する設定を行います。

こちらも.zshrcに以下の追記を行います。

# git設定
autoload -Uz vcs_info
setopt prompt_subst
zstyle ':vcs_info:git:*' check-for-changes true
zstyle ':vcs_info:git:*' stagedstr "%F{yellow}!"
zstyle ':vcs_info:git:*' unstagedstr "%F{red}+"
zstyle ':vcs_info:*' formats "%F{green}%c%u[%b]%f"
zstyle ':vcs_info:*' actionformats '[%b|%a]'
PROMPT='%n@%m %c'\$vcs_info_msg_0_' %# '
precmd(){ vcs_info }

各記述についての説明は今回は省きますが、とてもわかりやすく説明してくれているサイトを貼っておきます。

ちなみに、表示の見え方については、上記サイトが素晴らしかったので、そちらを採用し、できる限りbashの時と同様のスタイルで表示するように設定してあります。

ターミナルを再起動してgitディレクトリまで移動して確認

これでbashの時と同様のブランチ表示とgit補完が可能になりましたので、ターミナルを再起動してgitのディレクトリまで移動してみます。

以下のようにブランチ名が表示され、gitコマンドがTABで保管できたら完了です。

Hiro-no-MacBook-Pro uriel[master] %

[master]の部分が現在のブランチ名で通常は緑色、変更時は黄色赤色で表示されます。 

これでだいぶzshでもgitが使いやすくなると思います。 

gitをzshで使いやすくする設定まとめ

今回はzshでgitを使いやすくする設定を行ってみました。

bashで行ったことをzshでも設定しただけですが、誰かの参考になれば幸いです。

zsh設定もbashよりさらに便利設定や細かいカスタマイズが可能なので、興味がある人は調べてみるといいと思います。

まとめ
  • zshでgitを使いやすくするにはzshrcに設定を追加
  • zshはbashよりも保管等が優れているっぽい
  • 使い勝手は自分好みに改造してみると良いでしょう

よかったらシェアしてね!

コメント

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次
閉じる