lvは入力された文字コードは自動判別し、出力するコードはLANG環境変数で指定している文字コードに変換してくれるので、どんなファイルを与えても文字コード指定なしで意図通り表示してくれます(すばらしい!)。
PAGER='lv -c'
もし自動判別に失敗する、もしくは、LANGで指定していない文字コードで出力したい、といった特殊なケースには、-Iで入力、-Oで出力する文字コードを指定できます。
coding-system: a: auto-select c: iso-2022-cn j: iso-2022-jp k: iso-2022-kr ec: euc-china ej: euc-japan ek: euc-korea et: euc-taiwan u7: UTF-7 u8: UTF-8 l1..9: iso-8859-1..9 l0: iso-8859-10 lb,ld,le,lf,lg: iso-8859-11,13,14,15,16 s: shift-jis b: big5 h: HZ r: raw mode例えば、入力をeuc-japan、出力をshift-jisに指定したい、といった場合には以下のオプションを与えればOKです。
% lv -Iej -Os euc.txt
自分にとって唯一残念なのがlessの-X(--no-init)オプションに相当する機能が用意されていない点です。lessだと-Xオプションを指定しておくとlessで表示していた画面がlessをquitした後もそのままの状態でターミナル上に残ります。lessで情報を表示した後に、それを参照しつつコマンド実行する、というケースにはこの機能が必須なのですが・・・
0 件のコメント:
コメントを投稿