ウェブサービスを作っています。

iTerm2 上の Emacs で、テーマの色を適切に表示する

iTerm2 で Emacs を起動し (emacs -nw)、 テーマを選択すると、適切な色が表示されないことがあります。

調べたところ、iTerm2 の開発版と、パッチを当てた Emacs を使用することで直すことができました。

以下、Homebrew を使用していて、環境変数 TERM が xterm-256color になっている前提です。

使用中の iTerm2、Emacs を削除

brew cask uninstall iterm2
brew uninstall emacs
brew uninstall tmux  # tmux を使っている場合

iTerm2 開発版のインストール

brew tap caskroom/versions
brew cask install iterm2-nightly --appdir=/Applications

パッチを当てた Emacs のインストール

brew install choppsv1/term24/emacs
brew install choppsv1/term24/tmux  # tmux を使っている場合

iTerm2 の再起動

あとは、iTerm2 を起動しなおして、

ITERM_24BIT=1 emacs

とすれば、適切な色が表示されるはずです。

いちいち ITERM_24BIT=1 と打つのは面倒なので、.zshrc などに書いておくと良いと思います。

.zshrc

export ITERM_24BIT=1

参考