Git Bash を使いやすくしたいのだ

Git bashは、Unix系に慣れた身からすると、そのまま使う人はマゾだと思う。それくらに禁欲的である。

そもそもデフォルトではlsに色が付かない。これではディレクトリかファイルかの区別が分からないではないか。 そして、複数のプロジェクトではターミナルが乱立する。

お仕事の効率向上も立派なお仕事である。という大義名分のもと、日々の業務で時間がないのだが環境構築に励んでみた。

lsで色が付くようにする

git for Windowsの場合、bashのターミナルはminttyかWindowsのターミナルが選べる。 好みの問題だが、自分はlsのcolorが有効になるminttyを使う。Windowsのターミナルではlsで色が付かないらしい(自分の設定が悪いだけかも知れないが)。

~/.bashrcに設定しても良いが、システム・ワイドで有効にもできる。

その場合は C:\Program Files\Git\etc\bash.bashrc の末尾近くにあるところをuncommentする。uncommentすると以下のようになる:

# Uncomment to use the terminal colours set in DIR_COLORS
eval "$(dircolors -b /etc/DIR_COLORS)"

Git Bash の mintty でタブを使う

複数のプロジェクトでGit bashを使うとターミナルが複数開かれた状態になる。 そもそも、どれがどのプロジェクトなのか分からなくなる。

minttyはタブは実装されている。ちょっとイマイチな感じはするが無いよりはずっと良い。

~.minttyrcに下記を追記しておく:

TabBar=1
SessionGeomSync=4

SessionGeomSyncの意味についてはこのページが参考になる: mintty のタブが思ってたのと違った

minttyのタイトルをカレンド・ディレクトリにする

デフォルトだとminttyのタイトルが”bash -i”のように情報量が限りなくゼロになっている。 これをどうにかしておく。

bashでターミナルのタイトルを動的に変える方法 – (ひ)メモ を参考にして ~/.bashrcに以下を追記しておく:

case $TERM in
  kterm|xterm|mlterm|cygwin|vt102)
    _termtitle="\w"
    PS1="\[\e]0;${_termtitle}\007\]${PS1}"
    ;;
esac

“\h”でホスト名を表示できるが、他のマシンで作業することがないから自分の場合は省略した。