【コラム】
ターミナルで使われるコマンドの代表といえばls。なにも設定しなければ図1.1のように表示される。モノクロ悪くはないが、やはり、カラーの方が一目見て概要をつかみやすい。今回はカラー表示についてかいてみよう。
|
|
図1.1 なにも設定しなければモノクロな世界 – 渋すぎると言わざるとえない |
lsコマンドの出力をモノクロからカラーに変える方法は、lsコマンドの実装ごとに異なる。FreeBSDのlsコマンドならリスト2.1のように設定すればいい。環境変数LSCOLORSに色を指定して、コマンドの引数に-Gだ。
export LSCOLORS=exfxcxdxbxegedabagacad
alias ls="ls -G"
|
|
図2.2 FreeBSD lsでカラー表示 |
環境変数LSCOLORSにおいて指定している文字はそれぞれの色を表している。1つめから順にリスト2.3のように設定されている。指定する色はリスト2.4のように文字に割り当てられているので、このふたつを組み合わせてLSCOLORSを設定すればいい。
FSFから配布されている基本コマンド群であるcoreutilsの例もあげておく。リスト3.1のように設定すればよく、使用する環境変数はLS_COLORSだ。ここではglsとしているが、coreutilsをシステムベースのコマンド群として採用しているディストリビューションではlsとしてインストールされているので、glsをlsに読みかえてほしい。
export LS_COLORS='di=34:ln=35:so=32:pi=33:ex=31:bd=46;34:cd=43;34:su=41;30:sg=46;30:tw=42;30:ow=43;30'
alias gls="gls --color"
|
|
図3.2 FSF coreutils lsでカラー表示 |
環境変数LS_COLORSでは対象と色を=で結びつけて設定する。指定する対象はリスト3.3のように2文字の短縮文字列、色はリスト3.4のような数字で指定する。指定方法や短縮名、色番号はこれ以外のコマンドでも同じものを使うことが多いので、覚えておくといい。
やることはまだ残っている。zsh補完候補の一覧表示はなにも設定しなければ図4.1のようにモノクロ表示だ。zshはこの補完候補表示もカラーにする機能を提供している。
|
|
図4.1 なにも設定しなければzshの補完候補一覧はモノクロだ – やはり渋いと言わざるをえない |
補完候補のカラー表示は補完機能の読み込みとzstyleの設定でおこなう。リスト4.2のように設定すればいい。
autoload -U compinit
compinit
zstyle ':completion:*' list-colors ''
|
|
図4.3 zsh補完候補一覧でカラー表示 |
lsコマンドとzsh補完候補一覧の両方でカラー表示を設定したら、最後に表示される色の整合性をとっておきたい。補完候補一覧とlsコマンドの表示で色が違っているとちょっと混乱する。
autoload -U compinit
compinit
export LSCOLORS=exfxcxdxbxegedabagacad
export LS_COLORS='di=34:ln=35:so=32:pi=33:ex=31:bd=46;34:cd=43;34:su=41;30:sg=46;30:tw=42;30:ow=43;30'
alias ls="ls -G"
alias gls="gls --color"
zstyle ':completion:*' list-colors 'di=34' 'ln=35' 'so=32' 'ex=31' 'bd=46;34' 'cd=43;34'
|
|
図5.2 FreeBSD ls、FSF coreutils ls、zsh補完候補一覧のカラーを統一 |
だいたい上記設定まですれば上出来だが、ツールにこだわりを見せるzsherとしてはさらに一歩突っ込んだ設定をしておきたい。
これまで紹介した色設定はFreeBSD lsで設定されているデフォルトの色に合わせたものだが、背景色が白のターミナルでは視認値が良いものの、コンソールのように背景色が黒いターミナルでは若干見にくい。カラーテーマを保ったまま、黒いターミナルでも視認値の高い設定をしよう。
case "${TERM}" in
kterm*|xterm*)
export LSCOLORS=exfxcxdxbxegedabagacad
export LS_COLORS='di=34:ln=35:so=32:pi=33:ex=31:bd=46;34:cd=43;34:su=41;30:sg=46;30:tw=42;30:ow=43;30'
zstyle ':completion:*' list-colors 'di=34' 'ln=35' 'so=32' 'ex=31' 'bd=46;34' 'cd=43;34'
;;
cons25)
unset LANG
export LSCOLORS=ExFxCxdxBxegedabagacad
export LS_COLORS='di=01;34:ln=01;35:so=01;32:ex=01;31:bd=46;34:cd=43;34:su=41;30:sg=46;30:tw=42;30:ow=43;30'
zstyle ':completion:*' list-colors 'di=;34;1' 'ln=;35;1' 'so=;32;1' 'ex=31;1' 'bd=46;34' 'cd=43;34'
;;
esac
これでウィンドウ環境から活用する場合でも、コンソールから作業する場合でも同じように扱えるというというものだ。
【コラム】Java API、使ってますか? 第9回 けっこう便利! 単位を扱うAPI -- JSR 275: Units Specification
【コラム】イマドキのIDE事情 第4回 Eclipseでもオールインワン - さまざまなEclipseディストリビューション
| 花粉の運び屋“マルハナバチ”の国勢調査 [18:11 5/24] |
| 「Arid5a」は自己免疫疾患を引き起こすカギ分子の可能性大 - 阪大 [17:39 5/24] |
| 岡山大、中枢神経の「ランビエ絞輪」形成機構の解明に1歩前進 [17:35 5/24] |
| 細胞間接着を担うタンパク質「クローディン」に関する発見 - 阪大など [17:32 5/24] |
| パナソニック、LEDに匹敵する照明用高効率白色有機EL素子を開発 [17:29 5/24] |
|
[注目映画紹介]「ポゼッション」 悪魔に憑依された少女と救おうとする父 親子を軸にしたホラー [17:07 5/26] エンタメ |
|
[爆笑問題]AKB48のネタ多く「世の中平和……」 [16:57 5/26] エンタメ |
|
コミックゼノンで新人の連載枠スタート、単行本化を確約 [16:21 5/26] ホビー |
|
脳梗塞やがんの手術費用より骨折やうつの方が金かかると識者 [16:01 5/26] エンタメ |
|
【ドル円週間見通し】米国5月の雇用関連指標を見極める展開 [16:00 5/26] エンタメ |