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.
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\\'
For me, using light-themed software for a prolonged period causes my eyes to strain and my head to ache. Sure, they do so to a very little extent, but the uncomfort is often distracting if not tempting me to slack off.
So for me, yes, dark themes help me get in the zone much easier. But of course that has very little to do of the colors scheme itself.
I also get a somewhat soothing and focusing effect when using a dark theme, especially in a room with dim lights.
But what absolutely destroys the experience for me is when I have to look something up on the internet and end up on a page that doesn't honor the browser's dark mode. The switch between bright and dark is extremely jarring.
I've seen research that supported that idea and research that didn't so I'm not sure it is possible to provide a definitive answer to that question.
As a colorscheme author, though, I can attest that working on a dark background gives me a lot more "range", so to speak, than on a light background, which tends to make "dark" colorschemes much easier to create and more expressive.
For me, the sweat spot is at around 10-20% lightness.
Biologically, no. Pupils constrict when there's more light, which makes the image hitting your retina more focused. Sharper images can be resolved faster, when means your eye can relax more. For some people this can reduce eyestrain.
However, some people are sensitive to light, so the optics are not the only consideration.
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.
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
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.
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.
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.
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.
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)
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.
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
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.
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.
> 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.
I meant dracula. why isn't it consistent from your experience? perhaps when comparing the schemes across editors or different terminals? (I only use one specific terminal and 1 editor so I don't see this)
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.
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.
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.
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.
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.
Last time I fiddled with it, it was hard to find good vim theme. By good I mean the one that: does not tires eyes, does not have hard to see colors when light conditions and not perfect.
When the words are invisible during day, then I can't use such theme.
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.
I think I have seen it before, but I am not sure. It has a similar base to mine, so if I have seen it, I have definitely tried to use it. The question is whether it has good colors for latex objects. I'll check it out if I get the time.
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
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.
Due note that this can only poll for colorschemes on GitHub. It does not poll from alternative Git forges nor does it allow you to manually add your theme. Sites like this are pressuring users that want ho market their themes to use a closed-source platform for open-source code.
Do note, want to
I stand by the statement though. This plays into GitHub’s gamification on stars and I don’t think it’s healthy to uphold that nor pretend other platforms, open platforms exist.
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 which 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.
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.
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.
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.
I switched from VS Code to Vim and just forced myself to go cold turkey. Turned off the mouse and arrow keys to enforce using the home row as much as possible. It was a painful month. I started with a pretty IDE-like config (I think it was called vim-ide or something like that) so it was similar enough to the functionality I was used to in VS Code. After about six months, things were basically second nature and I had a better grasp on what I needed, so I stripped a ton out and slimmed the config down a lot.
A huge advantage of vim (and emacs too) is it's so easy to extend, and I have macros and sessions and keyboard shortcuts that save me a lot of time and repetition. The initial month sucked, sure, but once I got used to the idea of modes and the keyboard shortcuts became muscle memory, I started to really see why people love it. I don't think I would ever go back to VS Code.
For reference, I work in Ruby, JS/React, and C# mostly.
(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.
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.
The (arcane) tricks to make vim or any editor work well is:
* export TERM=xterm-256color
* Use tmux attach -2 (-2=256color)
* In tmux <c-b>:set -g escape-time 0
* In vim, :set t_Co=256
If your terminal is the issue, use rxvt-unicode256color as it is the best terminal emulator (kitty is too slow (Python), urxvtd can segfault, xterm lacks features), or iTerm2 for Mac (Terminal.app recently broke colors and haven't figured out how to fix them, plus it lacks panes which I use to simulate an i3 environment). On Mac you have to enable option as meta key to make alt work as well
I use i3 and win+enter is bound to spawn a new terminal. I had read that kitty was supposed to be super fast, but I tried it out and spawning a terminal was taking .5-1 second!
I use --single-instance and it spawns much faster (and eats way less memory). Even without this switch it does not take this long on my machine (certainly less than half a second), but yes it takes noticeably longer than, say, urxvt.
I've found it's easier to keep every terminal app with its bone stock color/theme config and then just change your termianl app's color palette directly to a different theme. You might lose out on all kinds of extra colors for various things beyond 16 different levels (i.e. the typical terminal color palette) but it's so much easier and still looks pretty nice 90% of the time.
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.
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.
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.
Color schemes doesn't work unless we are talking about a dozen standard schemes. Otherwise, it is drowning users in choices. What we needed is an interactive fine tuning. Doing it with config files isn't working. We need a web application for that. Give me a dozen also template, and let me fine tune from there. Export, done.
There are a bunch of tools that generate color schemes for other tools based on a template of their configs. For example pywal is a popular one: https://github.com/dylanaraps/pywal But pretty much every major scripting language like JS, ruby, etc. has their own take on the same idea.
Here’s more or less how it’s supposed to look: http://hans.fugal.net/vim/colors/desert.html (it’s the original desert theme, not the desert256 fork, but it’s still much closer than the vimcolorschemes.com rendering)
Making your own theme is a great adventure.
You get to think about (and "decide") what matters the most to you.
Is it identifiers? Operators? Keywords?
reply