目次

目次

【zsh】ターミナルにブランチ名を表示

アバター画像
海津 純平
アバター画像
海津 純平
最終更新日2018/05/11 投稿日2018/05/11

はじめに

自分はGitをターミナル上で操作することが多いので、ターミナルにブランチ名を表示させています。 その設定方法を紹介します。

設定方法

まず以下が特に設定をしていない状態。 ただPC名が出ているだけです。

image-20180326093127019.png

zshの関数である vcs_infoを使ってブランチ名を表示させることができます。 簡単な流れとしては

vcs_info関数を呼び出し ↓

vcs_info_msg<em>0</em>変数にバージョン管理システムの情報が格納 ↓

vcs_info_msg<em>0</em>変数をターミナルに表示

以下、設定ファイルのコメントで解説していきます。

# vcs_infoを読み込み
autoload -Uz vcs_info

# vcs_info_msg_0_変数をどのように表示するかフォーマットの指定
## デフォルトのフォーマット
### %s: どのバージョン管理システムを使っているか(git, svnなど)
### %b: ブランチ名
zstyle ':vcs_info:*' formats '(%s)[%b]'
## 特別な状態(mergeでコンフリクトしたときなど)でのフォーマット
### %a: アクション名(merge, rebaseなど)
zstyle ':vcs_info:*' actionformats '(%s)[%b|%a]'

# プロンプトが表示される毎にバージョン管理システムの情報を取得
## precmd: プロンプトが表示される毎に実行される関数
## vcs_info: バージョン管理システムから情報を取得
precmd () { vcs_info }

# 右プロンプトに表示
## prompt_subst: プロンプトを表示する際に変数を展開するオプション
setopt prompt_subst
## vcs_info_msg_0_: バージョン管理システムの情報
## RPROMPT: 右プロンプトに情報を表示するときの環境変数
RPROMPT=$RPROMPT'${vcs_info_msg_0_}'

上記をzshrcに記載して設定を適用させると以下のようになります。 Git管理下のディレクトリだと右側にブランチ名が表示されます。

image-20180326093127019.png

mergeでコンフリクトしたとき。

image-20180326093130766.png

ちなみに

自分はターミナルを以下のようにしてます。

image-20180326093134548.png

たいして書いてませんが、自分のzshrcを晒します。 https://github.com/rawsk/dotfiles/blob/master/zshrc 良いなと思ったり、設定ファイル書くのめんどくさいって人は使ってください。

まとめ

ターミナルをかっこよく便利にできます。

アバター画像

海津 純平

目次