そういえば、実際に256色を表示しているのか確認をしたことがなかった@HIROCASTERでございませう。
WEB関係の開発者ならば、仲良しのターミナル。いつもつかってますよね?
でも、そのターミナルは本当に256色表示できるか、確認してますか?もしかしたら設定を正しくおこなっていないため、表示されていないことに気づいてないだけかもしれません。
Terminal
まず。普段利用しているターミナルがそもそも256色を表示できるのかを確認します。
256色を表示するPerlスクリプト
256色を表示するPerlスクリプトを取得します。
$ wget http://www.frexx.de/xterm-256-notes/data/256colors2.pl
$ perl ./256colors2.pl
Perlスクリプトの実行結果
こんな感じで色鮮やかに表示できていれば、利用しているTerminalは設定を正しくおこなえば256色を表示できます。
筆者はiTerm2を利用していますが、Mac OS X 10.7.4に付属しているTerminal.appでも256色を表示を確認しました。
tmux
ターミナルマルチプレクサーと呼ばれる舌を噛みそうなソフトウェアのtmuxを普段から移用しているので、tmux上でも256色が表示できているかを確認します。
$ tmux
とtmuxを起動し、先ほどのPerlスクリプトを実行してください。
この様に残念な表示になってしまった場合は、正しく設定がされていません。iTerm2の初期設定のこの様になってしまいますので、注意してください。Mac付属のTerminal.appは大丈夫です。
iTerm2の設定を変更
iTerm2を利用している場合は、設定を開き、Profiles -> Terminal -> Report Terminal Type の項目を「xterm」から「xterm-256color」に変更し、アプリケーションを再起動してから動作確認をしてください。
設定さえきちんとおこなえば、256色表示できているはずです。
emacs
普段利用しているエディタも256色で表示できているかを確認します。emacsの場合だと
M-x list-colors-display
を実行すれば表示に使用する色を出力できます。
正しく設定されていないと、このように8色しか利用していない残念な状態です。上記で書いたiTerm2の設定をおこなっていれば、256色でtmuxからもiTerm2からも256色で表示されるはずです。
まとめ
基本的にはシェルのTERM環境変数を参照してソフトウェアが出力している色数を制御しているため、普段利用するbashやzshの設定ファイルに
export TERM='xterm-256color'
と書いていても今回の様なことは可能です。
iTerm2を初期設定のまま利用していると256色表示できていなかったりします。現在利用している環境で、今回の方法を利用して、一度くらいきちんと256色で表示されているのか確認してみることをお勧めします。