勢いで変えちゃった漢字コードですが、だいぶまともに使えるようになったのでいじったところの覚え書き。
setenv LC_CTYPE ja_JP.UTF-8FreeBSDでは環境変数 LANG に ja_JP.eucJP を指定しておけば一部のコマンドについて 日本語のEUCで表示することができますが、 ja_JP.UTF-8 を入れても日本語にはならないようです。だけど普通はありがた迷惑なので LC_CTYPE だけ入れとけば大丈夫なはず。
set encoding=utf-82行目を入れてててもSJISのファイルを読み込むと文字化けしていますので、そのときは ':e ++enc=sjis' で直接エンコードを指定しています。よく使う UTF-8 と EUC-JP については化けないようなのでとりあえずこれでOK。三行目は入れておかないと '■' とか '→' を1バイト文字として扱うので編集時にずれるみたいです。
set fileencodings=utf-8,euc-jp,iso-2022-jp,ucs2le,ucs-2,cp932
set ambiwidth=double
alias man 'env LC_CTYPE=ja_JP.eucJP \jman'PAGERに lv を設定していれば、lv が LC_CTYPE を見てくれないことが幸いしてうまく動きます(^_^)。将来的に lv が LC_CTYPE を参照するようになれば、環境変数 PAGER も一緒に指定する必要がでてくるでしょう。
alias jman 'env LC_CTYPE=ja_JP.eucJP \jman'
MLの購読とかスパム判定されたメールの確認とかに使っているのですが、とっくに開発終了しているソフトウェアなので UTF-8 には対応していません。他にも「入出力がEUC-JPでないといけないソフトウェア」がありそうなのですが、そういう場合は screen の文字変換を使ってみるとよさそうです。
alias mnews 'env LC_CTYPE=ja_JP.eucJP screen -c ~/screen-euc \mnews'
encoding eucJP UTF-8残念ながら screen 環境に入って上記コマンドを実行してもうまく動きません。一時的にscreenの設定をごにょごにょすると動くのかもしれませんが、screen は root で makeworld とか portupgrade するときぐらいしか使わないので特に対策はしていません。
alias less lv
setenv PAGER lv
setenv LV '-Ou8'
という感じで今は何不自由なく UTF-8 で使えております。既存システムの漢字コードを入れ替えるのは何かと大変ですが、新たに構築するのであれば UTF-8 で統一しとくのが無難かなーと思います。