Help us understand the problem. What is going on with this article?

やけに丁寧なtigの設定ガイド(表示制御編)

More than 3 years have passed since last update.

はじめに

コマンドラインで利用できるgitブラウザとして人気のtigですが、
使っていくうちにデフォルトの挙動では物足りなく感じ、.tigrcを利用したカスタマイズをしたくなってきます。

.tigrcをいじると色々なカスタマイズができますが、一度に多くの設定を書いてしまうと、
何が変わったかわかりづらかったり、変更の利点が曖昧になる時もあると思います。
そこで本記事では、.tigrcに関して筆者がオススメする4つの表示制御設定を紹介します。

ただ設定を紹介すると設定4行とコメントだけで終わるので、
スクリーンショットでbefore/afterを比較したり、オススメ理由を書いていきます。

なお、表示されているリポジトリは、本稿執筆時点で筆者が個人的に気になっているプロダクトである
favico.js のmasterブランチです。

「やけに丁寧だね!」と読者からコメントをいただけるような内容になっていれば幸いです。

コミットIDを出そう

tigのデフォルト表示では、コミットのIDは表示されていません。

http://cl.ly/image/0z0q2K1Q3011
拡大表示

これを表示するには次の設定を記述します。

~/.tigrc
# main viewの左端にコミットIDを表示する
set main-view = id date author commit-title:graph=yes,refs=yes
# デフォルト
# set main-view = date author commit-title:graph=yes,refs=yes

すると、ログの左端にコミットIDが表示されるようになります。

http://cl.ly/image/3213231b111f
拡大表示

なお、表示するIDの文字数を変えることもできます。
たとえば12文字にするなら

~/.tigrc
set main-view = id:width=12 date author commit-title:graph=yes,refs=yes

とします。

画面の垂直分割を試してみよう

tig 1.2まではmain viewで任意のコミットにカーソルを(j/kで上下移動して)動かしてenterすると、画面を水平分割して当該コミットのdiffが表示されました。

http://cl.ly/image/213S213y1z31
拡大表示

2.0からは画面サイズに応じて自動的に縦分割と横分割が選択されるようになりました。常に縦分割するように強制したい場合は

~/.tigrc
# 画面を垂直方向に分割する
set vertical-split = yes
# 横分割に強制する
# set vertical-split = no
# デフォルト値
# set vertical-split = auto

すると、diff表示が常に画面の右側に表示されるようになります。

http://cl.ly/image/0A1f1r2R1b2I
拡大表示

ファイルやコミットログで1行あたりの文字長を制限しているリポジトリ(※1行80文字など)では、
特に使いやすい設定かと思います。逆に1行がひたすら横に長い環境では使いづらいでしょう。

水平分割の上下比率を変えよう

先に紹介した垂直分割では使いづらい環境では、
水平分割の上下比率を調整することで使い勝手が向上するかもしれません。

tigのデフォルト表示では、水平分割した際の画面比率は、下画面が66%になります。

http://cl.ly/image/213S213y1z31
拡大表示

下画面をさらに広げてみましょう。80%にしてみます。

~/.tigrc
# 水平分割したウィンドウの下画面サイズを % で指定(行数指定も可)
set split-view-height = 80%

すると次のようになります。

http://cl.ly/image/0F3E1V3S170Y
拡大表示

自分の環境で使いやすい比率を探してみましょう。

差分の文脈をカスタマイズしよう

diff表示において、差分の前後の文脈(diff-context)がわかりづらい場合があります。
tigのデフォルト表示では、前後3行が見える状態になっています。

http://cl.ly/image/213S213y1z31
拡大表示

3行では不足する場合、これを増やすことができます。試しに6行にしてみます。

~/.tigrc
# 差分の前後の表示行数(diff-context)を指定 
set diff-context = 6

すると、次のように6行分が表示されるようになりました。

http://cl.ly/image/2K2D063a2Q1g
拡大表示

あまり長すぎても差分の確認時に不要な行が出てしまってノイズになりますので、
環境に合わせて加減を調整するとよいと思います。

おわりに

本稿では.tigrcで可能な4つの設定に絞ってtigの画面表示カスタマイズ設定を紹介しました。
紹介した設定の詳細や、その他の.tigrcで設定可能な項目は下記の本家マニュアルを参照してください。
tigrc(5) Manual Page

機会があればキーバインド編も紹介したいと思います。 → 書きました

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away