Get the top HN stories in your inbox every day.
johncoltrane
tempodox
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.
johncoltrane
The default colorscheme is a mixed bag.
On one hand, you have a quite reasonable syntax highlighting and highlight groups that mostly use the so-called ANSI colors of the underlying terminal emulator, which are all good things.
On the other hand, the highlighting of UI elements is clearly a second thought, a light background is assumed by default, the highlight group are inconsistent, and Vim's own heuristics for determining what features are supported by the underlying terminal emulator are beyond broken.
Some of those issues could be easily fixable at a high level if the default colorscheme was actually a colorscheme like blue or desert but it is not so, as we focused our efforts on the latter, we didn't try to fix default.
It is on our radar, though.
u801e
One problem vim's default color scheme is, with the default configuration, it assumes a light background. This leads to having to deal with dark blue text on black background.
I either have to change vim's background setting from dark to light or use a different color scheme like zellner.
SecondTube
Then trying to get the terminal colour scheme to work with the vim one. Another level of annoyances.
sigzero
When is this going to be pulled in?
johncoltrane
We would like the remakes to be included in 9.0… for which there is no precise ETA yet.
sigzero
Thanks for the answer.
jah
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.
DiabloD3
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
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\\'
undefined
yeetsfromhellL2
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 = #e3e3e3bunnyfoofoo
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!
yeetsfromhellL2
updated.
poisonarena
you updated with a screenshot of the color palette, I think everyone wanted to see what the actual vim session looks like
tambourine_man
Can you share that with us? Seems interesting
yeetsfromhellL2
I'll edit it into the original comment.
undefined
ben174
Seems like it would be worthy of contributing to this site.
yeetsfromhellL2
Sure, check the edit.
petepete
Over recent years I've been drawn to the cross-tool themes like Nord and Dracula.
Having consistency between neovim, fzf, bat, tmux, tig and fish is lovely.
mrzool
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/
kal247
+1 for the only solution providing consistent colors across various terminals without wasting your time (I chose noctu.vim).
undefined
mkdirp
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.
qbasic_forever
I really like papercolor for a light theme: https://github.com/NLKNguyen/papercolor-theme
wyclif
Used to use Dracula, got a little uncomfortable with it for the same reasons as the grandparent commenter, switched to Papercolor and love it, it's an Industrial Design based theme and in particular the background colour is not as dark as Dracula.
TheChaplain
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.
petepete
Yeah Nord is definitely lower contrast than most, you do get used to it though. Reminds me a bit of a blueish Zenburn.
sigzero
I run the Nord theme everywhere.
sandGorgon
oh man dracula is so good. just installed on my vscode.
25 years with vim...all the way with vscode now
christophilus
You switched from VIM to VS Code? How was that transition?
CalChris
VS Code is my vim.
I use VSCode NeoVim and clangd and a few other extensions. I've used a ton of vims and vim apps, but I'm just done with tweaking editors now. I'm happy with this setup.
My color theme is Light (Visual Studio). I like it but then color themes are personal choices.
ithrow
With the vim plugin? If not, how did you adapt?
petepete
I might've misunderstood the question but Dracula has per-app configs available:
https://draculatheme.com/visual-studio-code
They're all separate projects on GitHub so you can usually just use them with your regular plugin manager or even a git submodule.
ykonstant
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.
nerdponx
Everforest has a nice warm light mode with a yellowish background. https://github.com/sainnhe/everforest
tylerscott
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
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
smeeba
A favorite of mine is still the Shoji theme[1] though sadly this site ignores background coloring so it just only shows black on white[2]
etangent
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.
ihateolives
I'm in the same boat that you, I just can't use any color schemes where red is used to denote keywords, variables etc. I just don't understand why red dominates in so many color schemes.
abledon
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
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.
mkdirp
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.
obiwanpallav1
I've been using `Apprentice` theme
https://github.com/romainl/Apprentice
Has been a great experience so far
fooyc
I love this color scheme. I’ve just replaced the yellow color with some shade of blue, and it’s perfect.
petre
Can't read the comments. Too gray.
martingab
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
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
I went gruvbox some years ago and now cannot live without it. I’m using a base16 variant of it.
mjrbrennan
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
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
cocochanel
I love gruvbox, it's a piece of art. Code looks beautiful.
disqard
I love and use gruvbox too! Do you have a pointer to the base16 version of it, or did you hand-tweak/make it yourself?
vladvasiliu
The one I use is from this repo: https://github.com/chriskempson/base16-vim, which is built on the "base16 system" https://github.com/chriskempson/base16.
DarkCrusader2
I am using https://github.com/RRethy/nvim-base16 for neovim.
Get the top HN stories in your inbox every day.
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