Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login
Vim Color Schemes (vimcolorschemes.com) similar stories update story
2 points by auraham | karma 1320 | avg karma 4.7 2022-04-01 21:46:43 | hide | past | favorite | 119 comments



view as:

Just recently started using the built-in colorscheme "blue" and I love it.

I use jellybeans from the linked site.

"My eyes! The goggles do nothing!"

Agreed. Here is a sneak peek at the remake that is currently waiting for a merge: https://i.imgur.com/LLeBgY4.png

Reminds me of all the hours I spent learning to program in QBasic.

Me too! Maybe that's why I like it

It's really underrated, I love it too.

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


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\\'


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.


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]

[1] https://github.com/haystackandroid/shoji

[2] https://vimcolorschemes.com/haystackandroid/shoji


Does dark themes lets your focus more than light themes?

Depends If you work in dark or light environment. I think it is possible to find research papers about that.

I use light theme variant of Solarized at day time and dark in the evening.

In a way, yes.

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.


That's why I chose to have the dark reader extension always on and only disable for sites that don't need it.

No such luck however with design tools where changing the theme can't be an option.


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.


Sweet spot, actually.

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.


I went gruvbox some years ago and now cannot live without it. I’m using a base16 variant of it.

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?

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.


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.

I love gruvbox, it's a piece of art. Code looks beautiful.

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

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.


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/


+1 for the only solution providing consistent colors across various terminals without wasting your time (I chose noctu.vim).

oh man dracula is so good. just installed on my vscode.

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


With the vim plugin? If not, how did you adapt?

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.


I think they're asking how did they adapt their workflow seeing as the way you use Vim and VSCode is so wildly different.

You switched from VIM to VS Code? How was that transition?

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.

My color theme is Light (Visual Studio). I like it but then color themes are personal choices.


It's a little easier if you install the vim plugin on VS Code. However, I really wish VS Code had a more comprehensive set of vim keybindings.

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.

Yeah Nord is definitely lower contrast than most, you do get used to it though. Reminds me a bit of a blueish Zenburn.

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.

I really like papercolor for a light theme: https://github.com/NLKNguyen/papercolor-theme

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 run the Nord theme everywhere.

My favorite colorscheme is Molokai, which is like Monokai but softer on the eyes. I use a modified variant more similar in layout to Atom One Dark.

https://vimcolorschemes.com/tomasr/molokai


Tokyo Night is just amazing.

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

> base16-manager set nord

to use the nord theme on all programs.

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


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)

Solarized has broad support as well.

I've been using `Apprentice` theme

https://github.com/romainl/Apprentice

Has been a great experience so far


Author, here. Happy you like it ;-)

It's a really good one.

Thank you!

Can't read the comments. Too gray.

I love this color scheme. I’ve just replaced the yellow color with some shade of blue, and it’s perfect.


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


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.

Then trying to get the terminal colour scheme to work with the vim one. Another level of annoyances.

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.


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.


When is this going to be pulled in?

We would like the remakes to be included in 9.0… for which there is no precise ETA yet.

Thanks for the answer.

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.


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.

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


Have you tried mayansmoke?

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

Everforest has a nice warm light mode with a yellowish background. https://github.com/sainnhe/everforest

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.

What terminal font are you using in that screenshot?

Source code pro for Powerline.


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.

Can you share that with us? Seems interesting

I'll edit it into the original comment.

Seems like it would be worthy of contributing to this site.

Sure, check the edit.

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!


updated.

you updated with a screenshot of the color palette, I think everyone wanted to see what the actual vim session looks like


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.

After constantly switching schemes I "finally" settled on using nightfly.

https://github.com/bluz71/vim-nightfly-guicolors


why? Asking for a friend

I prefer dark color schemes. And nightfly has just the right amount of contrast in my opinion which dark schemes often seem to lack.

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.


I like iceberg and I use the Basic terminal profile with Hack Font, here's how it looks on mine:

https://i.imgur.com/WZBZpEL.png


(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 kitty and I have not experienced any slowness. What is slow about it?

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 looked it up and found https://github.com/kovidgoyal/kitty/issues/330 where the dev says:

> that's just python interpreter startup time

So... The answer is just "yeah it's slow". When you're used to a few milliseconds for terminal spawn, .5s is eons.


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.

Base16 is another popular one with a ton of implementations: https://github.com/chriskempson/base16


For some reason some themes have wrong colours, for example desert256:

https://vimcolorschemes.com/vim-scripts/desert256.vim

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)


I like the classic Solarized, both light and dark.

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?

Here's mine: https://i.imgur.com/slYc70t.png


Evil users of emacs have an equivalent service here: https://emacsthemes.com/

> Evil users of emacs

That's it buddy you just made the list! You'll never work in this town again you hear me!!! Neverrrrr!!


Legal | privacy