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