top | item 30885471

Vim Color Schemes

220 points| auraham | 3 years ago |vimcolorschemes.com

113 comments

order
[+] johncoltrane|3 years ago|reply
FWIW, modern reworks of the built-in colorschemes are on their way [1]. We plan to add more third-party colorschemes in the future as we streamline the creation and validation process.

[1] https://github.com/vim/vim/pull/9795

[+] tempodox|3 years ago|reply
Nice. I love that the OP has so many themes to pick from but repeatedly trying 3rd-party color schemes over the years only made me realize how many criteria have to be met for a color scheme to actually work for me in practice (apparently I'm very picky when it comes to that). I have yet to find one that beats vim's `default` theme. The only tweak I made is to not use underline for the current line but a slightly darker background gray and a bold font face.
[+] sigzero|3 years ago|reply
When is this going to be pulled in?
[+] jah|3 years ago|reply
I'm a huge fan of the base16 color schemes - not for their appearance (though most look great), but for their ease of integration within the shell and vim. Just clone the repos below, drop a few lines in your shellrc/vimrc, then use a single bash command to change the scheme in both. No more mucking with Xresources.

https://github.com/chriskempson/base16-shell

https://github.com/chriskempson/base16-vim

[+] DiabloD3|3 years ago|reply
I used Base16, and even added a colorscheme generator to the near infinite collection of them that Base16 has.

In the end, rewriting the upper 8 colors to not match the established ANSI color scheme is what broke it for me.

[+] thanatos519|3 years ago|reply
Thanks for this! I knew about 256-color and truecolor modes, but I didn't know about the palette-changing escape sequences. I prefer to use the standard 16 colours for portability, but tweak them where possible for comfort. Now I can do that in a shell script instead of messing with the terminal palette on every computer!

Not gonna use those clunky base16 scripts, though. TL;DR in GNU screen: $ echo -e '\eP\e]4;0;rgb:01/3f/13\a\e\\'

[+] yeetsfromhellL2|3 years ago|reply
After playing around with color schemes for over a decade and never really being satisfied, I made my own palette that is pretty close to the ANSI color scheme, just with more attractive shades that I copied from things like subway systems and public safety stuff (fire trucks and school busses) since so much research goes into colors being clear and unmistakable in varying conditions of weather or cleanliness. Highlight colors are incremental shades of grey. This has worked remarkably well with 99.9% of default app color schemes. Haven't touched my colors in years now.

Edit:

screenshot: https://imgur.com/a/ZPWjSKk, since terminal.sexy URL sharing wasn't working so well for me. I'd post a desktop screenshot, but I'm on the road and my laptop's WiFi just stopped working, lol.

Some background: cyan is now safety orange. This is because cyan hurts my eyes on a light background and it can be tricky to distinguish from blue, while orange is pretty easy to distinguish from red. IIRC I picked out the shades of blue and magenta myself because most color design documents I could dig up had blue and purple usage paired with a specific background color (usually white) which didn't carry over very well to a dark background. I find these shades to be distinguishable and flexible enough for just about any background color.

The greyscale highlights are generally for tmux and nvim status line background colors, which I use to distinguish cells instead of seperator glyphs.

  [colors]

  foreground = #383838
  foreground_bold = #383838
  cursor = #383837
  background = #aaaaaa

  #black (is black)
  color0 = #000000

  #red (fire engine red)
  color1 = #ce2029

  #green (London underground green)
  color2 = #007d32

  #yellow (school bus yellow)
  color3 = #ffd800

  #blue (Persian blue)
  color4 = #1c39bb

  #magenta (Rebecca purple)
  color5 = #663399

  #cyan (actually "ANSI Z535 safety orange", for my eyes)
  color6 = #ff7900

  #white (from the color white)
  color7 = #ffffff

  ###Highlights###
  # Evenly-spaced increments of the greyscale
  # Makes for good tmux/nvim statuslines
  color8 = #1b1b1b
  color9 = #383838
  color10 = #545454
  color11 = #717171
  color12 = #8d8d8d
  color13 = #aaaaaa
  color14 = #c6c6c6
  color15 = #e3e3e3
[+] bunnyfoofoo|3 years ago|reply
If it's possible, would you please post a screenshot of how this looks? Not sure how to easily see this, and don't want to learn how unless I know I'll like it.

Thanks!

[+] tambourine_man|3 years ago|reply
Can you share that with us? Seems interesting
[+] ben174|3 years ago|reply
Seems like it would be worthy of contributing to this site.
[+] petepete|3 years ago|reply
Over recent years I've been drawn to the cross-tool themes like Nord and Dracula.

https://www.nordtheme.com/

https://draculatheme.com/

Having consistency between neovim, fzf, bat, tmux, tig and fish is lovely.

[+] mrzool|3 years ago|reply
I achieve that same consistency with virtually zero configuration by simply setting the colors in my terminal and forgetting about it. Stopped all the fiddling with color schemes quite a while ago.

Good explanation: https://jeffkreeftmeijer.com/vim-16-color/

[+] mkdirp|3 years ago|reply
I used dracula for a while, but I just can't deal with it during the day. So I've been looking for a uniform light theme for day time coding. I hope nord theme can fill in the gaps there, but it looks like it's still early days for it.
[+] TheChaplain|3 years ago|reply
Just tried Nord but to me it seems Gruvbox is more distinct with the keywords? At least I feel it easier to differentiate between different elements in code.
[+] sigzero|3 years ago|reply
I run the Nord theme everywhere.
[+] sandGorgon|3 years ago|reply
oh man dracula is so good. just installed on my vscode.

25 years with vim...all the way with vscode now

[+] ykonstant|3 years ago|reply
I tried very hard to find a satisfying light-themed color scheme for Vim, but I have not had much success so far. Most of them have a grey or white base that I don't care about; I wanted something more pastel or warmer and found solarized to be a bit too intense. I wrote and now use my own colorscheme [0] but I think there is much room for improvement.

[0] https://i.redd.it/psmi7s4gcfy51.png

[+] tylerscott|3 years ago|reply
I also struggle to find just the right light theme. I really enjoy the subtle colors in yours. Often I find accents and somtiemes primary color choices to be too intense against a sepia background.
[+] ghosty141|3 years ago|reply
I also wrote my own colorscheme (loosely based on an existing one) for emacs and I love it. Everything is the way I want it and I know what to customize if I want to change something
[+] mcast|3 years ago|reply
What terminal font are you using in that screenshot?
[+] danhau|3 years ago|reply
Have you tried mayansmoke?
[+] etangent|3 years ago|reply
I discovered a "color-scheme paradox": Every color scheme I enjoy using avoids using color red for anything except error messages -- which seems to be objectively a good thing -- yet such color schemes are rarely the most popular ones, which I attribute to the fact that the preview screenshots that do not use the color red look unappealing.
[+] abledon|3 years ago|reply
I wish there was a universal 'colorscheme' standard that every text editor (Vim/Emacs/VSCode/Jetbrains/otherIDEs) all plugged into. And you could 'load/save' your settings across different apps etc... each one saving into the same _standardized_ file format. Then a site like this would work with me just 'ctrl-c'/ ctrl-v'ing the colorscheme into _any_ text editor (heck any program) target.

(Narrator: They colonized mars before this happened)

[+] hahajk|3 years ago|reply
It’s been mentioned earlier in this thread, but base16 is basically that. I use it, and it’s ok! After setting up a program to support base16, you can just type

> base16-manager set nord

to use the nord theme on all programs.

http://chriskempson.com/projects/base16/

[+] mkdirp|3 years ago|reply
I came across the themer.dev the other day. It's comes close to this, but I struggled to get a theme to be consistent across apps. There are still some apps it doesn't support.
[+] martingab|3 years ago|reply
My first thought was that this is some kind of delayed april fool, since all color schemes looked the same (b/w) to me, until I realised that I have to turn-on javascript.
[+] Tepix|3 years ago|reply
I love most of them!

Is there a way to search for non low-contrast themes? My search for "High contrast" among the light themes yielded no results, yet i saw some themes that fit the bill while browsing.

[+] surfsvammel|3 years ago|reply
I went gruvbox some years ago and now cannot live without it. I’m using a base16 variant of it.
[+] mjrbrennan|3 years ago|reply
Absolutely love Gruvbox, switched to it a couple of years back after seeing the founder of the company used it and haven’t looked back. Highlights all the right things and the colours are excellent.
[+] ykonstant|3 years ago|reply
As far as dark themes go, I have settled on a variant of gruvbox (base16-gruvbox-dark-pale) and do not see myself changing any time soon. Just see how harmonious texts from different contexts look: https://i.redd.it/p5h7ongm51541.jpg
[+] DyslexicAtheist|3 years ago|reply
I love consistency which is why dracula never disappoints. Dracula has schemes for literally every shell/tui/gui I care about (there is even a Dracula mode in Firefox "Dark Reader"). And it goes really well with happy colorful wallpapers (cyberpunk colors of the 80ies or rick + morty cartoons). The only thing I might consider replacing it with is Nord. But last time I checked Nord still wasn't covering all I want.
[+] lelanthran|3 years ago|reply
> I love consistency which is why dracula never disappoints. Dracula has schemes for literally every shell/tui/gui I care about (there is even a Dracula mode in Firefox "Dark Reader"). And it goes really well with happy colorful wallpapers (cyberpunk colors of the 80ies or rick + morty cartoons). The only thing I might consider replacing it with is Nord. But last time I checked Nord still wasn't covering all I want.

Don't you mean 'Darcula'?

Sure, there's a 'Dracula' theme for vim, but it's not really universal and consistent.

[+] scns|3 years ago|reply
Solarized has broad support as well.
[+] jherdman|3 years ago|reply
(Neo)Vim and colour schemes are the thing that finally pushed me to use VSCode after more than a decade of using Vim. I was just so fed up with trying to find the right incantations of environment variables to get the damn things to work correctly every single time. Hats off to those still fighting the good fight.
[+] nobleach|3 years ago|reply
That's been my experience for 10 years. (Before that, I didn't even know Vim could have color schemes)

These things look beautiful on the web page. But dang it's so hard to get your terminal, Tmux and Vim/NeoVim to display properly. I've literally used Distinguished as my color scheme for 10 years just because I got it working, it looks nice and I really don't want to fight with configs.

I'm still not interested in using VSCode as my daily driver though. I tried it for about 6 months solid. It wasn't for me.

[+] qbasic_forever|3 years ago|reply
VS code + the vim mode/keystrokes extension is a solid replacement IMHO. I still keep neovim around for quick terminal edits, but I no longer try to have a fancy config or setup with it--it's just too much work and constantly breaking with plugin updates.
[+] CSSer|3 years ago|reply
EDIT: I see the "view on Github" link now. Wow that is subtle.

I feel like I'm missing something. I know I could just do an internet search to figure it out, but why doesn't this site include instructions on how to install one of these themes?

I've tried to get into vim in the past, but you know how it goes... limited time and all that. I've gone through vimtutor. All I can really do from memory are the basics. Some of that is still on me for not committing, but sometimes I wish more was done to make vim more approachable. I hate to say it but little things like this with the color schemes are probably a big part of what drives adoption for a lot of people because it encourages tinkering.

[+] bradrn|3 years ago|reply
I tend to switch between colour schemes depending on the conditions. During the day, I prefer Gruvbox light soft; at night, I prefer Solarized dark. When using my laptop screen (and some other times too), I find Emacs default colours best. I really don’t see the point of sticking with just one colour scheme, disregarding the surrounding environment.