Incorrect colors with vim in iTerm2 using Solarized

I am having a strange issue with iTerm2, in terminal vim (non-gui) and the solarized color scheme. First, I have set iTerm2 to use the dark solarized colour scheme.

I am also using solarized for vim. I have the following lines in my .vimrc

set background=dark
colorscheme solarized

In the terminal the color scheme looks incorrect: console vim

For reference this is how it looks under MacVim (gui vim) gui vim

What do I need to change in iTerm or my .vimrc to get the colors looking correctly in my console vim?


A couple of things to check:

  1. In iTerm2, in Preferences -> Profiles -> Terminal, under "Terminal Emulation" you have "Report Terminal Type:" set to xterm-256color.

  2. In your .vimrc, there are some options you can also set to make sure it's using 256 colors:

    set background=dark
    " solarized options 
    let g:solarized_visibility = "high"
    let g:solarized_contrast = "high"
    colorscheme solarized
    
    And one of those should work, but #1 first.

BUT, if you're using the default, built in vim on Snow Leopard, it won't work, as it's not built with support for 256 colors. I believe the built in version in Lion does.

Edit: Based on several comments on this answer, I've removed let g:solarized_termcolors = 256 line from the .vimrc example above. It appears that could be a problem for some. Another says that adding the line let g:solarized_termcolors = 16 fixed a color display problem. Your own mileage may vary.

Second Edit: If you've loaded the solarized color palette into iTerm2, then you must let g:solarized_termcolors=16. Only let g:solarized_termcolors=256 if you are not using the solarized palette as your iTerm2 color preset.


The above answers didn't work for me.

I'm using iTerm2 with vim 7.3 on OS X 10.7.4.

If the above solutions didn't work for you too, try this

syntax on
set background=dark
let g:solarized_termtrans = 1
colorscheme solarized

Update: According to Jim Stewart, this works on Kitty too.


https://github.com/altercation/solarized/tree/master/iterm2-colors-solarized

Download Solarized package (https://github.com/altercation/solarized) and follow instructions:

Open iTerm 2, open Preferences, click on the "Profiles" (formerly Addresses, formerly Bookmarks) icon in the preferences toolbar, then select the "colors" tab. Click on the "load presets" and select "import...". Select the Solarized Light or Dark theme file.

You have now loaded the Solarized color presets into iTerm 2, but haven't yet applied them. To apply them, simply select an existing profile from the profile list window on the left, or create a new profile. Then select the Solarized Dark or Solarized Light preset from the "Load Presets" drop down.

====================================

Or:

cd ~/.vim/bundle
git clone git://github.com/altercation/vim-colors-solarized.git

Modify .vimrc

Dark Theme:

syntax enable
set background=dark
colorscheme solarized

Light

syntax enable
set background=light
colorscheme solarized