git の pager を設定する
git grep
や git log
などのコマンドを実行したとき、デフォルトでは less がページャーとして使われる。
git log
の場合はデフォルトの設定で特に困っていないが、git grep
で出力が数行しかない場合にページャーが表示されるのはちょっと鬱陶しい。
git --no-pager grep
とすればページャーなしで実行できるが、いちいちこのオプションを指定するのは面倒くさい。
これらのコマンドで利用されるページャーは git config
で設定できる。
そこで、以下のように設定した。
git config --global core.pager "less -R -F -X"
less の各オプションは以下のような意図で指定した:
-R
: 色を変更する制御文字をそのまま出力する。-F
: ファイル全体が一画面に収まる場合、less を自動的に終了する。-X
: less の終了時に画面をクリアしない。
このように設定すると、git grep
の結果が一画面に収まる場合はページャーなしの場合と同じように出力され、一画面に収まらない場合は less で結果を見ることができる。