Ubuntu (18.04 LTS) (含 WSL)
sudo apt install source-highligh nkf
以下のような /usr/local/bin/lesspipej.sh を作成。
#!/bin/bash
# Ubuntu では、/bin/sh ではダメ。
ORIGINAL_LESSOPEN=/usr/share/source-highlight/src-hilite-lesspipe.sh
CONV_UTF8_COMMAND="/usr/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.bashrc とかに
export LESSOPEN="|/usr/local/bin/lesspipej.sh %s" export LESS="-j10 -R --no-init --quit-if-one-screen"
色味の変更は
/usr/share/source-highlight/esc.style
macOS
brew install less nkf brew install source-highlight
以下のような /usr/local/bin/lesspipej.sh を作成。
#!/bin/sh
ORIGINAL_LESSOPEN=/usr/local/bin/src-hilite-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.bashrc とかに
export LESSOPEN="|/usr/local/bin/lesspipej.sh %s" export LESS="-j10 -R --no-init --quit-if-one-screen"
ちなみに,私は20世紀の昔から tcsh なので,~/.tcshrc に
setenv LESSOPEN '|/usr/local/bin/lesspipej.sh %s' setenv LESS '-j10 -R --no-init --quit-if-one-screen'
色味の変更は
/usr/local/share/source-highlight/esc.style
Monokai 的 esc.stye の例

WSL Ubuntu だと,以下のように b をつけないと暗かった。
// monokai like keyword red b ; type, classname cyan b ; string yellow b ; regexp orange b ; specialchar purple b ; comment black b ; number purple b ; preproc red b ; symbol white b ; function green b ; cbracket gray b ; variable blue b ;
macOS の場合は b をつけるとボールドばかりになるので,適宜調整。たとえば,「ターミナル」の「環境設定…」メニューで,
□ ボールドフォントを使用
のチェックをはずし,
□ ボールドテキストに明るい色を使用
にチェックを入れるとかして,対応してみる。
ちなみに,esc.style で使える色は以下のみ。また,Windows の Cmder ではそもそも256色非対応なので,Monokai カラーテーマ的色合いはできない,残念。
colormap "green" "#33CC00" "red" "#FF0000" "darkred" "#990000" "blue" "#0000FF" "brown" "#9A1900" "pink" "#CC33CC" "yellow" "#FFCC00" "cyan" "#66FFFF" "purple" "#993399" "orange" "#FF6600" "brightorange" "#FF9900" "brightgreen" "#33FF33" "darkgreen" "#009900" "black" "#000000" "teal" "#008080" "gray" "#808080" "darkblue" "#000080" default "#000000" end