13 Dec 2013
Today, I finally got sufficiently irritated about the color Vim uses to display comments in Ruby (on a Mac OS X system), so much so that I decided to look for an alternate colorscheme. Somewhere along the way, I stumbled upon Solarized, which looks really nice.
Anyway, here is how Vim was displaying Ruby code prior to me using Solarized. Look at the comments in particular… it’s very straining to read them.
Pre Solarized Vim:
Here’s what the Solarized plugin does to beautify things (for dark theme):
Or if you use the light theme:
Looks a lot better, right? At the very least, I do think that with the Solarized plugin, reading comments are much easier on the eyes. Given how long a programmer has to stare at a computer screen daily, this is a tremendous boon.
Now that you’ve seen what happens before and after, should you wish to continue reading, what follows will be a pretty short walkthrough on installing the Solarized plugin for Vim on Mac OS X. Specifically, the instructions below are meant for Mac OS X Mavericks, but they should work a modern Mac OS X installation.
Based on what I’ve read from the
README inside the Terminal subdirectory
of the Solarized color palette repository, it is slightly more troublesome to
install the Solarized color palette for the Terminal application.
Because of that, I will not be going through installing the Solarized color
palette for Terminal. Feel free to try that out once you’ve gone through this
article and have become more familiar with the installation process.
Now, to install iTerm2, go to http://www.iterm2.com/ to download the zip file, extract the executable, and you can start using it.
Using Vundle to manage your Vim plugins will simplify things. Personally, my Vim setup is pretty minimalistic and I have always managed the very few plugins I use manually. It is manageable precisely because there are so few of them. But I do see the point of using a plugin manager like Vundle when one uses a lot of plugins.
If you are new to Vundle (like me), here are a few articles I’ve found useful:
Now then, we need to slightly edit our
.vimrc for it to function properly
Here is my
.vimrc, prior to Vundle:
set nocompatible set bs=2 set ts=4 set sw=4 set number " shows row and column number at bottom right corner set ruler syntax on
Very minimalistic, right? These settings are the bare minimum for me, and I can survive pretty well with them. I also use the bufexplorer plugin.
Now that we are using Vundle, the
set nocompatible " be iMproved filetype off " required! set rtp+=~/.vim/bundle/vundle call vundle#rc() " let Vundle manage Vundle " required! Bundle 'gmarik/vundle' Bundle 'altercation/vim-colors-solarized' Bundle 'jlanzarotta/bufexplorer' filetype plugin indent on " required! set bs=2 set ts=4 set sw=4 set number " shows row and column number at bottom right corner set ruler " For solarized plugin (color scheme) " https://github.com/altercation/vim-colors-solarized syntax enable set background=dark colorscheme solarized
In particular, these lines:
set nocompatible " be iMproved filetype off " required! set rtp+=~/.vim/bundle/vundle call vundle#rc() " let Vundle manage Vundle " required! Bundle 'gmarik/vundle' filetype plugin indent on " required!
are absolutely required for Vundle to function properly, in particular the
first 4 non blank lines. Be sure to have those 4 lines at the top of your
For these 2 lines:
Bundle 'altercation/vim-colors-solarized' Bundle 'jlanzarotta/bufexplorer'
Bundle 'altercation/vim-colors-solarized' line is required here,
it tells Vundle to install the Vim Solarized plugin.
Bundle 'jlanzarotta/bufexplorer' is for telling Vundle to install
bufexplorer. It’s just another example of how we can use Vundle to keep
manage plugins. You can even specify non github repos, local repos. More
information is available at
Vundle’s github page .
This section here:
" For solarized plugin (color scheme) " https://github.com/altercation/vim-colors-solarized syntax enable set background=dark colorscheme solarized
tells Vim to use the Solarized dark colorscheme. To use the Solarized light
colorscheme, change the
set background=dark line to
Now that our
.vimrc is set up, it’s time to install Vundle.
Based on the Vundle git repository here:
git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
You dont have to manually create the ~/.vim/bundle/vundle directory hierarchy
if they do not exist on your system.
git clone does that automatically.
Once done, fire up
vim on the command line.
:BundleInstall . This will install all the plugins you listed in
.vimrc (lines beginning with
Be sure you have installed iTerm2 before you continue. Now, clone the Solarized color palette repository:
git clone https://github.com/altercation/solarized.git
I will be assuming that the cloned repository is at
Now, fire up iTerm2, and on the menu, go to
Click on the
Profiles tab, and go to
You should see something like this:
Click on the
Load Presets.. button, and select
Remember the solarized repository we just cloned? Select the
file (or alternatively the
Solarized Light.itemcolors file, depending
on which you are using. you could import both of them as well).
Use the Solarized color palette.
Now, iTerm2 should be using the Solarized color palette, and vim should be using the Solarized plugin for syntax highlighting.
We are almost done… In fact, we are done. It’s just that, there are a few pain points that I wish to address.
ls does display colorized output once I started using the
Solarized color palettes. To enable colorized output for
ls, add the
following line to your
and you shall, once again, enjoy colorized output from
If you are a new iTerm2 user like me, you will find that, out of the box, iTerm2 does not support Alt-Backspace for deleting a word, Alt-b for moving one word back, and Alt-f for moving one word forward. In other words, things we take for granted on a terminal with readline.
To enable them, on the iTerm2 menu, go to
Go to the
Profiles tab, and click on
Keys. You should see something
Left option key acts as: section, choose the
button, and you’re all set.
Hopefully that worked for you too. Enjoy the beautiful Solarized color scheme! Here it is, once again, in its full glory:
Disclaimer: Opinions expressed on this blog are solely my own and do not express the views or opinions of my employer(s), past or present.