Character-Encoding

我可以在 less 中同時設置(輸入和輸出)字元集嗎?

  • March 6, 2016

我可以告訴less以 UTF-8 輸出字元:

export LESSCHARSET=UTF-8

但隨後它也會嘗試以 UTF-8 格式讀取文件。

我可以告訴它以 ISO-8859-2 (latin2) 格式讀取文件,但像在設置中那樣將它們顯示為 UTF- vim8嗎encfenc

看起來這是不可能的。作為部分解決方法,您可以通過iconv以下方式用作輸入預處理器。

  1. 創建以下可執行腳本,例如less_conv.sh
#!/bin/sh
圖示v -f $IN_ENC -t $OUT_ENC $1
  1. 定義並導出LESSOPEN變數:
出口 LESSOPEN="|-less_conv.sh %s"
  1. less以這種方式

呼叫:

IN_ENC=latin2 OUT_ENC=utf8 少一些文件

您還可以設置您的首選值:

導出 IN_ENC=latin2
導出 OUT_ENC=utf8
少一些文件

管道字元節省了對臨時中間文件的需要|LESSOPEN破折號在讀取標準輸入-時啟用此預處理器。less

限制:

預處理器僅被呼叫一次,即使您點擊For R,因此您將無法在增長的文件或“流式傳輸”標準輸入上使用此解決方法。

引用自:https://unix.stackexchange.com/questions/265486