2011年3月26日土曜日

less の文字化け&スクリーンのクリア抑制

cygwin上でlessを利用すると日本語が文字化けします。
ですが、lessに"-r"オプションを渡すと、正しく表示できる(こともある)ようです。
自分の環境ではこのオプションにより文字化けが無くなりました(もとネタ )。

日本語文字コードに起因する文字化けでなく、"ESC [...m"といった表示色指定に伴うケースでは"-R"オプションを指定することで、文字化けがなくなり適切な色付きテキストが出力されるようになります。


lessに関する全然別の話をあと2つ。

lessを抜けるとよるスクリーンがクリアされるのがデフォルトの動作なのですが、
自分にとっては好みの動作ではありません。
lessで表示していた内容を参照しつつ、シェルに戻って作業をしたい場合が
多々あるので、スクリーンはそのままにしておいて欲しいです。
こんなときには"-X"オプションを指定すればよいようです。

これらのオプションを常に利用するには環境変数LESSに"-r -X"を
指定しておけば、less起動毎に指定する必要はなくなります。