Cygwinの設定

入力した日本語のみが化ける

従来から使用していたマシンにCywin1.7.xをインストールしたら、以下のような感じで、入力した日本語のみが表示がおかしい。

> echo \343\201\273\343\201\222

ほげ

原因は、以前の環境で設定していたlocaleのようだ。

.loginの中のsetenv LANG Cを削除、もしくは

setenv LANG C.UTF-8

で正しく表示されるようになった。

ファイル内の文字が化ける

CygwinはVer. 1.7よりUTF-8化されて、日本語ファイル名は扱えるようになったが、ファイルの中身のほうははたいていSJISを使っているので、lessやcatでは文字化けしてしまう。

そこでsetupから、コード変換ツールのlvインストールする。termcapも(自動で選択されないので)いっしょに。

aliasでjlessに設定してみた。

alias jless 'lv -Is \!* | less'

これをフィルタとして使えばgrepで日本語も検索可能。

jless foo.txt | egrep ほげ

みたいな感じ。