My 8 favorite color schemes for modern vim

I've been a vim user for a long time now, and a color schemes nerd for quite a while as well. The color scheme landscape has changed a lot lately. Since the introduction of true colors terminals, you're not limited to a 256 colors palette anymore and therefore, lots of new fancy color schemes appeared over the course of the past years. In the same time, several "modern" text editors appeared and encounter success those last years such as Sublime Text, Atom, VS Code, and they all came with new pretty solid default color schemes, when previously, most editors came with… let's say basic color schemes. Eventually, many of the color schemes that were once popular now feel outdated, compared to more recent options.

Neovim logo

So here's a selection of the color schemes I've used the most over the past few years. This post merely reflects my own tastes and the themes listed here are the ones that I prefer and have worked with the most. I mainly work with ruby, javascript and markdown on a daily basis, with Neovim in a regular iTerm2 terminal (all those themes should render pretty well in modern vims as well, as long as you have true colors configured). I am very much of a dark-theme guy, so most of my recommendations here will be dark themes. I'll still cover two light color schemes that I really appreciate at the end of this post. Let's dive in!

6 dark themes

It seems dark themes are prominent in the vim color schemes community, and you have lots of different options in this category. Lately, lots of color schemes have been inspired by the original One Dark color scheme of the Atom Editor and by the Google Material color palette, and as a consequence, all those themes can sometimes feel all pretty similar. This selection should allow you to explore other options.

palenight

palenight by drewtempelmeyer

A dark color scheme for Vim/Neovim based off the Material Pale Night color scheme. Much of the work is based on the lovely onedark.vim color scheme.

This one is my absolute favorite, and without a doubt, the less well-known option of all themes I'm going to cover in this post. I came across it months ago, and it's been my main theme since then. As usual, I've kept on testing other color schemes, but always quickly came back to this one. It's one of those themes based on onedark, but to me, it's one of the best out there. Even if the repository does not show much activity, this must not prevent you from testing this gorgeous theme. It's a onedark-ish theme, with a yellow-orange and purple flavour, making it more lively and less boring than most others out there, in my opinion. But still not too bling-bling. A sweet spot!

ayu

ayu-vim

Simple, Bright and Elegant theme for modern Vims.

Ayu comes in three different flavors : dark, mirage (dark, but less dark), and light. The three of them are really nice, I've used them extensively for a while before I found out palenight. Among the two dark flavours of this theme, I personally prefer the mirage one that I find more balanced, the dark version being too contrasted to my liking (although very good as well).

gruvbox

gruvbox by morhetz

Retro groove color scheme for Vim

Gruvbox is definitely one of the most recognizable themes around there. It has a very distinct yellow-ish color palette, which makes it stand out from the crowd. According to its Github page, it's inspired by classical and well-known vim themes such as badwolf, jellybeans, and solarized. It comes in two flavours, dark and light, and each one can be tweaked to a specific contrast mode: hard contrast, medium, or low. It's a great choice and has lots of configuration options and supported third-party plugins.

nord-vim

nord-vim

An arctic, north-bluish clean and elegant Vim theme.

I came across Nord quite recently, and even though I've rarely used it as my main theme so far, it really deserves a mention in this article. Nord is a more general color palette project, based on bluish/artic colors, really easy on the eye. It lacks a bit of "pop" to my liking to be honest, but it still feels really nicely done, and the palette has been declined over many other editors and terminals, which can make it a really good choice if you like to get your console and editor themes aligned. It supports a lot of options and third-party plugins as well.

vim-one

vim-one by rakr

One of the best Atom colorscheme, now for Vim and Neovim.

There are a lot of colorschemes inspired by Atom's default one colorscheme out there, for all editors. This has really been a game-changing color scheme that inspired many theme designers. This one feels like one of the most polished for vim, I've used it quite a long time ago and don't use it anymore, but it's a solid choice, you can't really go wrong using it. If you're looking for a clone of the Atom One theme, this might be the one (🙃) for you.

oceanic-next

oceanic-next by mhartington

Oceanic-Next.vim is a neovim theme inspired by Oceanic Next for Sublime. It is not a direct port but uses some colors from the sublime theme, that are fitted to work with neovim and vim8.

This one feels more "classical", with a dark-bluish feel. I don't use it that often, but still, I keep it around and use to it from time to time, as it feels quite soothing to me.


2 light themes

As I previously said, I'm more of a dark theme guy myself and rarely use light color-schemes. From time to time, I try one of them but never keep it for long. But I know there are developers out there that favor light color schemes, and even though there are not so many good ones around there, some of them are worth being listed.

ayu-light

ayu-vim

Simple, Bright and Elegant theme for modern Vims.

We already covered the ayu color scheme in the "dark themes" part of this article, but the "light" version of ayu really deserves to be listed. I like light color schemes with bright and distinct colors, and ayu does a really good job at this. If I had to use a light color scheme, it would certainly be this one.

solarized light

We can't really write a round up of colorschemes without talking about solarized, can we? Solarized was one of the first well-thought color schemes those last few years, it came out with a nice palette and felt quite nice. I never really enjoyed the dark version of the theme (too much blue, not enough contrast with the main foreground color), but I do really appreciate the light version, a pale yellow/beige with colourful keywords. The original solarized by ethanschoonover has unfortunately not been worked on in a long time (last commit 7 years ago !) but you'll find many forks out there. I'll particularly mention those two projects :

vim-solarized8 by lifepillar

Optimized Solarized colorschemes. Best served with true-color terminals!

flattened by romainl

Solarized, without the bullshit.

I have no personal opinion about which one is the best, they feel a bit different (especially flattened which might present more tweaks and changes over the original repository). vim-solarized8 has the drawback of adding a lot of different colorschemes which I don't like, but I guess it's not that important. I'll leave that out to your own judgment, here are some screenshots for flattened:


Of course, there are a lot of other well-designed vim colorschemes out there. I could have talked about Tomorrow, PaperColor, Yowish, Dracula, Tender, Iceberg, Hybrid, etc. but I never really got hooked by any of those and I couldn't cover every single vim theme in this post. They might be worth a look though. If you know of other interesting options I didn't mention, feel free to ping me over Twitter @pabuisson, I'm always looking for new themes to try out 🙃

References