cygwinを完全sjis化

  • 投稿日:
  • by
  • カテゴリ:

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も試してみたが見事にコケた。どうもネットワークが絡むと仕事場の環境ではダメっぽい。むぅ。