コマンド出力に色をつけると見やすい.一般的なコマンドには色をつけるための手法やパッケージが用意されているのでそれをみていく.

ls » gnu ls

lsコマンドはmacのデフォルトだとbsd系のlsが入っていて,これは通常のlinuxに入っているgnu lsとは異なる.gnu lsの方がカラー設定がしやすいのでこっちをインストールする.以下はhomebrewから入れる例だ.インストールした後,色付けをデフォルトで有効にするために.zshrcにエイリアスを設定している.

# install via homebrew
brew install coreutils
# set alias to zshrc. .zshrcに以下を追記
gls -F --color=auto

具体的な色の設定ファイルを$dircolorsPATHという変数で設定できる.設定ファイルは色々なカラーテーマに沿ったものがネット上で手に入る.自分はターミナルのカラーテーマをsolarizedにしているので,対応したものを利用している.

cat » ccat

ccatはcatコマンドを色付けしてくれる.以下のgrcではcatが対応していないので別途これを利用している.

# install via homebrew
brew install ccat

# ccatへのaliasをはる..zshrcに以下を追記
if [[ -x `which ccat` ]]; then
  alias cat='ccat'
fi

grc/grcat

grc/grcatは各種のコマンドに色をつけてくれるパッケージ.対応しているコマンドは以下の通り.

  as,ant,blkid,cc,configure,curl,cvs,df,diff,dig,dnf,docker,docker-compose
  docker-machine,du,env,fdisk,findmnt,free,g++,gas,gcc,getfacl,getsebool,gmake,id,ifconfig,iostat,ip,iptables,iwconfig,journalctl,kubectl,last,ldap,lolcat,ld,ls,lsattr,lsblk,lsmod,lsof,lspci,make,mount,mtr,mvn,netstat,nmap,ntpdate,php,ping,ping6,proftpd,ps,sar,semanage,sensors,showmount,sockstat,ss,stat,sysctl,systemctl,tcpdump,traceroute,traceroute6,tune2fs,ulimit,uptime,vmstat,wdiff,whois

基本的にはこれを使っていれば問題ないような気がする.homebrewからダウンロードでき,grc コマンドの形で実行することで色付けできる.

# install via homebrew
brew install grc

# test. in this case for ls 
grc ls 

いちいち色付けするのが面倒臭いという場合は自動でaliasを貼ってくれるスクリプトが用意されているので,このファイルを.zshrcで読みこめば良い.

# .zshrcに以下を追記
"[[ -s "/opt/homebrew/etc/grc.zsh" ]] && source /opt/homebrew/etc/grc.zsh

less » source-highlight

source-highlightはlessを色付けしてくれるツールとして有名.これもhomebrewからインストールできる.再び.zshrcに追記する.

# install via homebrew
brew install source-highlight

# .zshrcに以下を追記
export LESS="-R"
export LESSOPEN="| /opt/homebrew/bin/src-hilite-lesspipe.sh  %s"

色付け以上の機能を持ったls » exa

gnu lsでは満足できない(?)場合は,exaコマンドを使うという手がある.これはlsの色付けに加えて追加の機能をいくつか持っていて便利.

# install via homebrew
brew install exa

いくつか便利な利用法をリストアップしておく.

# 下部ディレクトリをツリー表示してくれる
exa -T 

# 表示カスタマイズ(アイコンを表示する例)
exa --icon

# ファイルのgit状態
exa -l --git

# 色々モリモリで表示(これが便利なので特別にllにaliasを設定した.)
exa -abghHliS --git