「less」で文字セット(入力と出力)を設定できますか?

「less」で文字セット(入力と出力)を設定できますか?

less出力文字がUTF-8であることがわかります。

export LESSCHARSET=UTF-8

ただし、UTF-8形式のファイルの読み込みも試みます。

vim設定で行ったように、ファイルをISO-8859-2(latin2)で読み込みますが、UTF-8としてマークするように指示できますか?encfenc

答え1

これは不可能なようです。部分的な解決策として、iconv次の方法で入力プリプロセッサとして使用できます。

  1. たとえば、次のような実行可能なスクリプトを作成しますless_conv.sh
    #!/bin/sh
    iconv -f $IN_ENC -t $OUT_ENC $1
    
  2. LESSOPEN変数の定義とエクスポート:
    LESSOPEN="|-less_conv.sh %s" エクスポート
  3. 呼び出しless方法は次のとおりです。
    IN_ENC=latin2 OUT_ENC=utf8 ファイルが少ない
    必要な値を設定することもできます。
    IN_ENC=latin2 エクスポート
    OUT_ENC=utf8 エクスポート
    少ないファイル

|パイプ文字はLESSOPEN一時的な中間ファイルの必要性を減らします。 dashは標準入力を読み取る-とこのプリプロセッサを有効にします。less

制限事項:
またはを押してもFプリプロセッサは一度だけ呼び出されるため、ファイルが大きくRなったり標準入力を「ストリーミング」したりすると、この回避策は使用できません。

関連情報