LoginSignup
2
2

More than 5 years have passed since last update.

homebrew で less のシンタックスカラーリングの導入と設定メモ

Posted at

less のカラーリングは色々あるけれど、OS X に限った情報のメモ。

lesspipe.sh を導入と設定

brew install lesspipe

環境変数を設定

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 を使うようになる

export LESSCOLORIZER="/usr/local/bin/pygmentize"
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2