git bash で文字化けしたので何とかした話

最近本当にemacsだと時間さえかければ出来るのかどうか気になってちょくちょく設定作業をしてみているんだけど、流石にxyzzyと同じ風にするのは非常に大変。別の便利さがある別のやり方の方がemacsだと便利というパターンが多いけど、じゃあそれが凄い便利なのかというというほど便利じゃなくて仰々しい多機能さと実際に使う時の不便さが同居するみたいなのが多い*1
それはxyzzyでも実は似たようなところがあって、自分で時間をかけて作った便利機能みたいなのより、10分位で作ったちょっとした気の聞いた小粒の機能の方が役立ったりするという。gitの奴もおなじで色々コマンドを補完する機能とかつけた奴は全く使わず結局git-bashを立ち上げるだけのを頻繁に使っている。そこで似たようなのをemacsで動かそうとすると文字化けしてしまう。理由がよく分からない。

どちらもほぼやることは一緒で、同じgit-bash.exeを起動するだけなんだけど、なぜかemacsの奴だけ文字化けするという謎。多分shell-commandとxyzzyのshell-executeで実行する時に微妙に何か違うんだと思う。どちらも.bashrcは読み込んでるんだけど、多分.gitconfigか何かをemacsの方だけ読み込んでないか何かな気がする。

■解決したので追記 11/22

 なんていうか、普通の設定の問題ではなかった。ウィンドウの左上のアイコンの所をクリックすると出るメニューからオプションを選び、オプションのウィンドウからtextの項目にあるLocaleを色々変えてたら普通に文字化け治った。てかコマンドでlocale設定は色々してたんだけど治らずにウィンドウのオプションいじったら治るのも割りと謎。迷ったのは設定項目が

みたいにエンコードの設定が少なくとも4つあって、それぞれの設定方法が2種類から3種類位ある所にあったように思う。どこを自分が設定していてどこを設定していないのかが非常に分かり難い。そしてこれ前も同じことをやらかしていたらしく前回も結局ウィンドウのアイコンをクリックして出るオプションでなおしていたようなので、丁度いいからメモしておく。メモは大事。

追記:設定項目がもう一つあった

  • .minttyrc
Locale=ja_JP
Charset=UTF-8

上の4つを設定しても文字化けしたままになったので変だなと思って、mintty の設定もしてみたら日本語が表示された。

*1:例えばアウトラインツリーをemacsで再現しようと思うと結構上手くいかなくて、org-modeみたいなxyzzyではない折りたたみ機能がかえって便利。でもorg-modeは仰々しい感じで使わない機能も沢山ある。そして解析してくれるのがxyzzyだとoltをマウスでポチポチすると色々変えれたり見出しの文字を正規表現で指定したり出来て痒い所に手が届く。デフォルトでも色々入ってて構造化エディタのアレとかにもマウスだけで簡単に見出しが変えれる。一方emacsだと基本見出しの撃ち込み方とかデフォルトの奴が他の機能とかでも何かと便利なので構造を強制的にorg-modeの記法にせざるをえないとかあったりなかったりする。けど個人的にはこれは不便だなと思う。