平衡点
2014/08/22
_ less の syntax highlight に pygments を使う
今迄は GNU Source-highlight を使っていたのだけれども, 試しに Pygments を使ってみたら 予想以上に良い感じだったので, のりかえてみた.
やった事は単純で pygmentize-lessfilter を
# source: sh #!/bin/sh if [ "$?" -eq "0" ]; then pygmentize -g -O "style=native,encoding=$(nkf -g $1)" $1 | nkf -w else exit 1 fi
なんて作成しておいて, ~/.zshrc で
# source: sh LESSCHARSET=utf8 LESS='-R' if ( whence pygmentize >/dev/null ) && ( whence nkf > /dev/null ) ; then LESSOPEN="| pygmentize-lessfilter %s" fi
としただけ.
最初は LESSOPEN で nkf -w 通して pygmentize に直接渡そうと考えてみたのだけれど, ファイル名が無いと syntax highlight する言語の判定に失敗することがあって, 結局別スクリプトにしてみた.
結構綺麗で良いと思う. 出力結果をカスタマイズしたいなら, 適当に style を書いたら良いかと.
似た様な話→ man をカラフルに