catやlessなど,terminalで何か文字列を出力する際には色がついてないと読むのがキツイ.
今までも一部のコマンドには色をつけて表示されるようにしていたが,出力系コマンドで色をつけて表示してくれるようなコマンドを調べたのでメモする.
調査したのはMacOS上でだが,見る限りどれもLinuxでもインストールできるっぽい.
ls→exa
exa: ogham/exa: Replacement for ‘ls’ written in Rust.
exaはRustで書かれたlsの代わりになるツール.
brew install exaでインストール可能.

↑綺麗に表示してくれる
普通のlsと違って-Tでtree表示ができたり,gitのrepositoryはbranchの表示もされる.
cat→ccat
ccat: jingweno/ccat: Colorizing cat
brew install ccatでインストール.

less→source-highlight
brew install sourch-highlightでインストール.
export LESS='-R'
export LESSOPEN='| /usr/local/bin/src-hilite-lesspipe.sh %s'
を.zshrcなどに設定後,読み込みすればOK.
diff→colordiff
brew install colordiffでインストール.
pingなど→grcを使って色をつける
brew install grcでインストール.
[[ -s "/usr/local/etc/grc.zsh" ]] && source /usr/local/etc/grc.zsh
を.zshrcに追記すればOK.bashやfishならgrc.zshをgrc.bashrcやgrc.fishに変えてそれぞれの設定ファイルに書けばOK.

色をつけることができるコマンドは以下.
cc ls
configure make
cvs mount
df mtr
diff netstat
dig ping
gcc ping6
gmake ps
ifconfig traceroute
last traceroute6
ldap wdiff
メモ
自分は設定を以下のようにした.
####################
# Colorize #
####################
# read grc setting
[[ -s "/usr/local/etc/grc.zsh" ]] && source /usr/local/etc/grc.zsh
# ls
alias ls="exa"
alias ll="exa -la"
alias la="exa -l"
alias l1="exa -1"
alias lll="exa -abghHliS --git"
# less
export LESS='-R'
export LESSOPEN='| /usr/local/bin/src-hilite-lesspipe.sh %s'
# cat
alias cat="ccat"
# diff
alias diff='colordiff -u'
### End Colorize ###
aliasをしているが,元々のlsとか使いたい場合は\lsのようにバックスラッシュをコマンドの前につければaliasは無効化されるので当面はこの設定でやってみる.exaやらcolordiffやらがインストールされてない場合の処理は省略しているが,つけたい場合は
if [[ -x `which ccat` ]]; then
alias cat='ccat'
fi
のように記述すればよい.
grcのdiffの設定とcolordiffの設定がバッティングする..zshrcの設定読み込みの順番で制御してもいいが,変更に弱いのであまりやりたくない.
ので,/usr/local/etc/grc.zshを直接書き換えてdiffの部分をコメントアウトすることにした.気になる人はgrc.zshをコピーしてユーザーローカルなところに置いてからそいつを変更して読み込む感じにすれば良さそう.
catとlessはpygments使って色つける方法もあるようだ.どちらが良さそうかは未検証.pygmentsはpip install pygmentsでインストールして使えば良さそう.細かい設定方法は
- catやlessをシンタックスハイライト+行番号表示してコードを見やすくする - QiitaQiita
- cat, less コマンドの表示を Syntax Highlight させる - xykのブログ
この辺りのブログで紹介されている.