平衡点


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

としただけ.

最初は LESSOPENnkf -w 通して pygmentize に直接渡そうと考えてみたのだけれど, ファイル名が無いと syntax highlight する言語の判定に失敗することがあって, 結局別スクリプトにしてみた.

結構綺麗で良いと思う. 出力結果をカスタマイズしたいなら, 適当に style を書いたら良いかと.

似た様な話→ man をカラフルに


連絡先など
最近の日記
  • 2024/10/09
    • 1. Mastodon でのメール通知, というか Exim4 と Apparmor
  • 2024/06/19
    • 1. WSL2 での gpg-agent, ssh-agent
  • 2024/06/18
    • 1. WSL で Windows 側のフォントを利用する
  • 2024/06/17
    • 1. WSLとWindowsの時刻同期
  • 2024/06/12
    • 1. wsl2 で systemd
    • 2. wslg の設定
一覧
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|02|03|04|08|09|10|11|12|
2013|01|02|03|04|05|06|08|09|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|09|10|
2016|02|03|
2017|01|02|03|05|06|07|09|11|12|
2018|03|06|07|10|11|12|
2019|01|02|03|04|05|07|10|12|
2020|01|02|03|04|05|08|09|10|11|12|
2021|01|02|03|05|06|07|08|09|11|12|
2022|01|02|03|04|05|06|08|10|11|12|
2023|02|03|04|06|08|09|11|12|
2024|01|02|03|04|05|06|10|
Back to Top ▲