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"