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のブログ
この辺りのブログで紹介されている.