I started using Linux and Vim last Summer, and one of the first things I did in Vim, like I would do in any code editor, was to find a decent color scheme. I was surprised by how useful and colorful the terminal could be. Coming from Windows background, I realized how much I missed out. At first I was happy with the themes I found, but as I worked with less mainstream languages, most of the themes don’t work well enough. Or, some work on these languages but not on the others, so I had to switch theme based on the language I was programming, and it quickly became annoying. So, I decided to create my own color scheme.

https://github.com/NLKNguyen/papercolor-theme

Ruby

C/C++

Assembly: MIPS, GAS, NASM | Plus xxd generated hexdump for fun :)
Assembly: MIPS, GAS, NASM | Plus xxd generated hexdump for fun :)

(More screenshots at bottom)

I design this light color scheme for terminal Vim and gVim, and I call it Paper Color. It is inspired by Google’s Material Design. It is designed to be visually appealing, playful, bold, and high contrast yet pleasant for the eye.

The goal is of course to improve readability, but I also focus on presentation ability. That is the main reason I chose to design a light color scheme instead of dark. I like dark color schemes, but for practical purposes, light ones work better in more places. For instance, when doing code walk-through with a screen projector in a presentation, it is very very unlikely that the projector can project the background of a dark theme to be dark enough to make the code stand out like on the monitor screen, thus resulting in muddy syntax colors that reduces the code readability of the audience. Of all presentations that I have been to, the light color schemes always perform better.

I create this color scheme based on the famous Tomorrow theme because I find its code to be better organized than other themes that I have tried, which make it easy to learn and modify. More importantly, unlike many themes, it already displays well on both terminal and GUI Vim, so it makes sense for me to simply work from there.

Right now, It is specifically designed for 20+ languages. Visit the Github page to see the list of syntax highlighting plugins that this color scheme supports.

https://github.com/NLKNguyen/papercolor-theme

Installation

With Vundle plugin manager

Plugin 'NLKNguyen/papercolor-theme'

Or manually

$ git clone https://github.com/NLKNguyen/papercolor-theme
$ cp papercolor-theme/colors/PaperColor.vim ~/.vim/colors/

Then, put this in your ~/.vimrc

Light version:

colorscheme PaperColor

Dark version:

colorscheme PaperColor-Dark

I hope you like it :) Any comment/suggestion/question is welcome.

Here are the screenshots for different languages.  I will update them occasionally. In the meantime, check out post updates and users’ creations inspired by this below the screenshot gallery.


Update May 31, 2015: Bringing PaperColor theme support to Vim-airline.

let g:airline_theme='papercolor'

See what others have done based on Paper COlor design

Christoph Hermann designs a very good looking iTerm2 theme called material-iterm that has both light and dark variants.

This slideshow requires JavaScript.

Reddit user fixles creates a Terminal theme that matches Paper Color very nicely, and it looks beautiful when you use tmux.

terminal-theme

Let me know what you have created with this design  :)

See more discussion about this post on Reddit!

Advertisements

21 thoughts on “Vim Paper Color Theme

  1. I just asked him about this since this code doesn’t seem to follow Base16 semantic. I don’t know much about that project so may be there is some kind of conversion tool that I don’t know; otherwise it would be kinda too mechanical to design in Base16’s way of naming colors. Thanks for the tip :)

    Like

  2. Glad you like it :) and yes, I will be bringing a dark version to it firstly as a port to Base16. I hope to release it before July. Currently, I’m designing a theme for vim-airline, and by the time Paper Color is ported to Base16, both light and dark vim-airline themes that match it will be available.

    Like

  3. Hello
    I am not able to set up PaperColor On My Mac OS X Yosemite ,i have coped the file as you explained in the instructions and added the two lines to ~/.vimrc , i ma getting following error E185: cannot fine colorscheme PaperColor,How ever if i set up :colorscheme defaultColors under the vim colors it is working fine ,any help is greatly helps

    Thank you .

    Like

  4. Oh, I should have updated the post because the instruction is outdated. Sorry, my bad. I’ll fix it soon when I get to the computer and let you know :)

    Like

  5. Actually the section that is outdated is not the one you mentioned. So, do you copy the file PaperColor.vim from the Github page into your ~/.vim/colors ? It should work normally. Just in case you use Vundle to :PluginInstall the scheme, you will need to put “colorscheme PaperColor” after the Vundle plugin section in ~/.vimrc

    Let me know how it works out :)

    Like

  6. I really loved the post. Until now I never found any color scheme better the Gruvbox, and I always use dark versions. But you mister are changing me. First time I am using a light theme. Awesome work.

    Liked by 1 person

  7. Thank you :) I love to see people like it. It’s funny because if I had known Gruvbox a lot earlier (I just know it recently) or figured out how to set up Solarized on my terminal (I hadn’t suceeded once), I wouldn’t have designed this whole thing. :D

    Like

  8. Yes, after Final Fantasy 8 from way back when, my taste in gaming was changed, and I couldn’t find another game that was as good, so I just gave up on gaming :D (used to addict to 1st person shooter games though ^^)

    Like

  9. I think it could be that your Redhat gnome terminal is not set to use 256 colors. From the screenshot, it isn’t just dark but also limited in colors (seem like only 16 color). You can try putting set t_Co=256 in your vimrc, before colorscheme settings. I mostly use Ubuntu gnome terminal, and it behaves normally with this settings. Let me know how it works :)

    Like

  10. I tried to follow your tuortial (Mac OSX 10.6). I created the .vim dir and the colors dir into it. I pasted the molokai.vim file, then I put the command :colorscheme molokai, I restarted, but vim doesn’t change the colorscheme. What can I do?

    Like

  11. قال:مشكلة لو سمحت الحل الله يخليك ..من قائمة القائمة فى ملفات الستايلYou are using Worpdress 3 or higherTherefore you don’ t need the theme-menu mangaer. Instead please use the new WordPress Manu Manager implemented in Version 3.0:Wordpress Menu Managerولما ذهبت الى القوائم قالىالقالب الحالي لا يدعم القوائم, و لكن بإمكانك استخدام المربع الجانبي “القوائم” لإضافة أية قوائم تقوم بإنشاءها هنا إلى القائمة الجانبية في القالب.ياريت الحل وبارك الله فيك .. لانى محتاج القوائم ضرورى جدا !

    Like

  12. @Manish: You need to store your persistent settings in ~/.vimrc (see my instruction above). If you are new to Vim, then there are some more settings you might need to put in to make Vim better. There are online tutorials about it. I personally have my common settings as a plugin https://github.com/NLKNguyen/common-settings.vim that you can install or copy directly to your .vimrc. Merry Christmas!! ^^

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s