Vim doesn't support rainbow parentheses highlighting, out-of-the-box, for anything except Lisp. Rainbow highlighting is pretty awesome though, so if you want it for something like C or C++, a plugin is your best option. I had been using kien's plugin for the last few years, and was generally happy with it. While updating my plugins, though, I noticed that kien's plugin actually hadn't been updated in quite some time, despite having open bugs / pull-requests. After looking around a bit, I found that there are quite a few different rainbow parentheses plugins to choose from. Here is a quick chart to help you choose which one to use.
N.B. You can easily enable lisp rainbow highlighting by putting this in your vimrc
:
let g:lisp_rainbow = 1
Choosing a Rainbow Parentheses Plugin
The following are listed in order of my recommendation.
[Update: When I first posted this list, there were a number of actively maintained options. Since then, the number of active RP plugins has dropped, and ViM users seem to be coalescing around just a few of them.]
Plugin | Maintained | Last Updated | Notes |
luochen1990's rainbow | Yes | Jun 2015 | Active maintainer, operator highlighting, very fast |
kien's rainbow_parentheses | ??? | Mar 2013 | Does not appear to be maintained, supports chevron hightlighting, generally stable. |
oblitum's rainbow | No | May 2014 | Abandoned, has chevron hightlighting, maintainer recommends using luochen1990's plugin |
Martin Krischik's rainbow_parenthsis | No | Oct 2007 | Not maintained, supports chevron hightlighting, basis for many of the above plugins. |
John Gilmore's RainbowParenthsis | No | Mar 2005 | Not maintained, was the original rainbow hightlighting plugin for Vim |
amdt's vim-niji | Null | Null | Repo completely blown away by the maintainer |
As you might have guessed from the table above, I'm using louchen1990's plugin. I actually filed a couple of bugs against it when I first started using it, and the maintainer addressed them within a couple of days. The only thing I wish it had is chevron highlighting, which is really great for C++ code.