git bash here で開くシェルを ckw に変更する

msysgit を入れると使える git bash here、便利なんだけどコマンドプロンプトに sh がのっかってるから、コピペとか超面倒。
なんで、ckw で sh が開くようにしてみた。

準備

まずは ckw を入手しないといけないんだけど・・・
実は公式はもうなくなっていて、今はクローンがあるだけ・・・
ということでいつも以上に自己責任でお願いします!
ckw 自体は ckw でぐぐると改造版がいくつもヒットする上、ソースも配られているから自分で弄るのも面白いかも。

ckw改造版の修正版とuberboxの修正版と簡易電卓っぽいの。 - Perlとかmemoとか日記とか。
ckw 0.8.10 改造版を更に改造した(修正しただけ)
ckw でプロンプトが消えないとき - やた@はてな日記

ここでは一つ目のサイトのバイナリを前提に話を進めますね。
ウィンドウが 2 つ出ちゃうことがある場合、3 つめのリンク先の対処方法を取って下さい。ソース弄ってビルドする必要があります。
この修正を行ったバイナリとソースを公開しました。こちらをお使い下さい。

解凍、編集

まず、ダウンロードした zip ファイルのプロパティからブロックを解除しておき、適当な場所に解凍する。
ブロックされていなかったらそのまま適当な場所に解凍する。


次に、ckw.cfg を編集する。

11 行目
ckw[cmd] を ckw[sh] に。ぶっちゃけどうでもいい。
12 行目
cmd.exe を sh.exe --login -i に。
13 行目
先頭に ! を付けてコメント化。
20 行目
先頭の ! を取り除き、220 を 200 に。これは好みで。
26 行目
80x26 を 120x40 に。これも好みで。
その他
好みで。

コピー

ckw.exe と ckw.cfg を git の bin フォルダにコピーしてしまう。
C:\Program Files (x86)\Git\bin とか、C:\Program Files\Git\bin とか、多分そんな感じ。


ここまででとりあえず ckw.exe を実行してみましょう。
git bash here を実行した時みたいな感じで ckw が立ち上がれば成功!

こんな感じ。

レジストリの編集

regedit で、HKEY_CLASSES_ROOT\Directory\shell\git_shell\command を探す。
無かったら諦める。
あったら、多分 "C:\Windows\SysWOW64\cmd.exe" /c "pushd "%1" && "C:\Program Files (x86)\Git\bin\sh.exe" --login -i" とかそんな感じのはずなので、これを
"C:\Program Files (x86)\Git\bin\ckw.exe" --chdir "%1"
に書き換える。32bit Windows の場合は Program Files (x86) じゃなくて、単に Program Files のはず。元のを bin\ までコピった方が安全かも。


これで、git bash here を実行したら ckw で開いてくれるように!
ただし、もう一回書きますけど自己責任でお願いします><
やってることの意味が分からない場合は諦めるか、調べるかして全部理解した上で Let's try!