Homebrew でインストールした less を使って日本語コードを自動判別して,字化けせずに表示する方法。
参考:
brew install less lesspipe
以下のような lesspipej.sh を/usr/local/bin に作成し,chmod +x しておく:
#!/bin/sh
ORIGINAL_LESSOPEN=/usr/local/bin/lesspipe.sh
CONV_UTF8_COMMAND="/usr/local/bin/nkf -w"
conv_utf8() {
$CONV_UTF8_COMMAND "$1"
}
if [ $# -eq 0 -o "$1" == "-" ] ; then # pipe
conv_utf8 - 2> /dev/null
else # file
if [ -x $ORIGINAL_LESSOPEN -a `$ORIGINAL_LESSOPEN "$1" | head | wc -c` -gt 0 ] ; then
$ORIGINAL_LESSOPEN "$1" | conv_utf8 - 2> /dev/null
else
conv_utf8 "$1" 2> /dev/null
fi
fi
環境変数 LESSOPEN を設定する。
tcsh/csh系:
setenv LESSOPEN '|/usr/local/bin/lesspipej.sh %s'
bash系:
export LESSOPEN="|/usr/local/bin/lesspipej.sh %s"