less のカラーリングは色々あるけれど、OS X に限った情報のメモ。
lesspipe.sh を導入と設定
brew install lesspipe
環境変数を設定
.bashrc
export LESS="-j10 -R --no-init --quit-if-one-screen"
export LESSCHARSET="utf-8"
export LESS_ADVANCED_PREPROCESSOR="1"
export LESSOPEN='|/usr/local/bin/lesspipe.sh "%s"'
これで大抵の事は完了している。
lesspipe.sh をプリプロセッサとして置くことで、たぶんこれぐらいの事は自動でやってくれる。
- 圧縮ファイルを自動展開して中身を見る
- 文字コードを iconv で変換する
なお、アーカイバ自体は必要に応じて個別にインストールする事。
あと LESS 環境変数で -R / -r のどちらかのオプションを指定しないと less コマンドが ANCI エスケープシーケンスを解釈しないのでカラーリングが強制的に無効になる。
lesspipe のカラーリングを Pygments に変更する
デフォルトでも lesspipe 付属の code2color という Perl 製のシンタックスハイライターが適用されるが、どうも構文解釈がおかしい気がして気に入らなかった。
lesspipe.sh ではこれを Python の Pygments に置き換えることが可能。
Python と Pygments のインストール
brew install python # 手元の環境では Python2.7 系が導入された
pip install --upgrade pip # 付属の pip が古いと警告されたので一応
pip install Pygments
ここまでで Pygments が導入され、pygmentize コマンドが使えるようになる。
あとは環境変数を以下のように設定すると Pygments を使うようになる
.bashrc
export LESSCOLORIZER="/usr/local/bin/pygmentize"