windowsでもunixツール使いたいと思い、cygwinを入れてみた。
coLinuxやandLinuxもアリかなぁとも思ったが、やっぱりインストールの手軽さでcygwinを選んだ。
cygwinなんて大学学部生の頃のC言語学習以来なのだが、パッケージ見て以外とツールが豊富だと言うことに気づいた。
perlも5.10系になってるし、zsh,GNU screen,lvもあるし。
んで、せっかくwindowsの生のファイルに直アクセスできるのだから完全に文字コードをShift_jisに絞って環境構築をしようと言う話。
やったこと。
perlやzsh,GNU screen,lv,vim等をインストール。
.zshrcに
export LANG=ja_JP.sjis
export LC_ALL=ja_JP.sjis
export OUTPUT_CHARSET = sjis
を追記。
更にlvで文字化けしないようlvを"lv -Os"になるようエイリアス追加。
LANG=ja_JP.sjisで文字化けが解消するかと思ったらlsがまだ文字化け。
lsを"ls --show-control-chars"になるようエイリアス追加。ついでに--color=autoも追加しておくと見やすいかも。
diffをcolordiffに置き換え。make installでは無理だったので手動コピー。
.vimrcに
set termencoding=sjis
set encoding=sjis
追記。
次にプログラムのエラーメッセージも日本語化する。(参考:Cygwin 覚書 -- Ray:雑学事典)
devel - gettext-develをcygwinに追加インストール。
「日本語メッセージの文字化けに対応する」からsjis化シェルスクリプトを頂いて実行。
ここまでやってもfindコマンドの出力が文字化けするという現象が発生した。
→print0オプションを付けると何故か文字化け解消。ワケワカラン。
引数を1行ずつ出力するだけのperlスクリプト(print_args.pl)を作り
find . -print0 | xargs -0 perl print_args.plとかやったら普通に出力された。
というか-print0と-0を抜かしても普通にokだった。一回他のコマンドに流してやれば特に問題なかったぽいので、少しとほほな対処法だがまぁいいか。
cygterm+puttyも試してみたが見事にコケた。どうもネットワークが絡むと仕事場の環境ではダメっぽい。むぅ。