
My favorite Vim color schemes
I like using Vim, the VI iMproved editor. I have a fondness for the classic vi
editor, and Vim provides a ton of flexibility that works well for me. One power feature is how Vim makes it easy to edit files on remote systems over an ssh connection, whether that’s editing pages on my website, or writing Bash scripts on my Raspberry Pi. With Vim, editing a file is just a keystroke away.
However, I’m not fond of the default color scheme that Vim uses; I find the colors a bit “too much” for me. And I don’t like how highlighting one bracket of a pair (like {
and }
in programming) can make it appear as though my cursor has disappeared.
But Vim is very extensible, so I decided to explore what other color themes Vim offered to find one that worked well for me.
Trying out different colors
You can find the color themes in the /usr/share/vim/vim*/colors
directory, with each theme file named with vim
as the extension. My Fedora 40 desktop system uses Vim 9.1, and my /usr/share/vim/vim91/colors
path has these color themes installed by default:
$ ls -F /usr/share/vim/vim91/colors/
blue.vim habamax.vim pablo.vim slate.vim
darkblue.vim industry.vim peachpuff.vim sorbet.vim
default.vim koehler.vim quiet.vim tools/
delek.vim lists/ README.txt torte.vim
desert.vim lunaperche.vim retrobox.vim wildcharm.vim
elflord.vim morning.vim ron.vim zaibatsu.vim
evening.vim murphy.vim shine.vim zellner.vim
To set the color theme in Vim, you use the colorscheme
command with the name of one of the themes. So colorscheme blue
will load the blue color theme.
I wanted to see what each color scheme would look like when editing a program, so I wrote a simple C program (counts from 1 to 10). In the screenshot, I also moved my cursor to the first {
bracket after the main()
function declaration, so you can see how Vim highlights the matching }
bracket at the end.

I loaded the different color schemes separately while editing the C program, and captured a screenshot of each.

As you can see in this montage image, the Vim color schemes include “dark” and “light” themes, and a few in between. Some also have an additional feature that shows non-file lines at the end of the file. Vim normally displays ~
on these extra lines, but a few color schemes also add an extra color to visually separate these lines from the rest of the file.
My favorite color schemes
I really like the blue color scheme. This uses colors typical of DOS editors, which I like, using the classic white-on-blue colors and providing extra color highlighting for numbers and keywords. For example, note that variable types like int
are a slightly different color than variable names or function names. However, I’m less fond of how the color scheme changes the cursor color when matching the {
and }
braces; my cursor (on the first bracket) appears to disappear.

I also like the evening color scheme. This is another “dark” color theme that is easy on the eyes when writing code. The text is easy to read, and the highlighting helps separate keywords, comments, and other features from the code. Note that this theme highlights the non-file lines at the end in a different shade of gray. I also like that this theme keeps my cursor visible while highlighting the matching {
and }
pairs.

If you prefer a lighter theme, you may like the morning color scheme instead. This uses a light gray background, so it’s not as hard on the eyes like a bright white background would be. This color scheme also highlights the non-file lines at the end, but my cursor tends to disappear when highlighting the matching brackets.

I really like the quiet color scheme. This is almost a monochrome theme, showing text in black and white, but using a dark gray for comments. My cursor remains visible when highlighting the matching {
and }
pairs, using a different color to make them stand out. Of all the Vim color themes, this is the most reminiscent of original vi
on classic Unix terminals – but with a modern twist.

The retrobox color scheme is pleasant to use. This uses brown and orange colors to provide a very “1970s” feel. I also love how this theme includes underline when highlighting matching brackets, in addition to using colors.

Find your favorite
I love that Vim is so flexible and supports extensions like color schemes. This allows me to customize Vim to my preferences and suit my needs. Explore the different Vim color themes available on your system to find the one that works best for your style.