
Vim Colors - TheHydroImpulse
http://vimcolors.com/
======
andrewguenther
I wish I could choose a language to preview the schemes with. My biggest gripe
with many of these themes is that is looks great in some languages and
terrible for everything else.

~~~
synthmeat
Slightly related, I don't like (mostly in OOP langs) when I have something
like:

    
    
        import lang.native.api.Something;
        import third.party.api.Else;
    

...and syntax file goes to colorize _Something_ , but _Else_ is perceived as
common text.

I'm aware of limitations of vim, being text editor and not an IDE, but I'd
rather syntax file to ignore the native API then to have me draw visual
distinction between native and third-party classes when, effectively, I
couldn't care less. The dissimilarity is just visual noise to me. :/

~~~
erikb
Why is something limited in highlighting because it's a text editor and not an
IDE? Highlighting is about text so it's quite a core feature of an editor.

~~~
andrewaylett
Usually because the text editor is limited to regular expression and region
matching, while the IDE parses the language into an AST so it knows what each
bit actually means.

~~~
outworlder
Except a text editor can also generate the AST.

~~~
andrewaylett
What I meant was that the limitation in highlighting is usually due to the
limitation in pattern matching. Of course, IDEs usually contain text editors,
and they often do highlight using an AST. But that's expensive, both to
develop and to run, and especially if you're not going to use the AST for any
other IDE-like activity. Pattern-matching is cheap and usually good enough.

~~~
erikb
Okay, you are not talking about a problem in principle but how it practically
is in reality. I don't know if text editors like Sublime/Atom also have that
problem but when it comes to vim I can agree with that. Wouldn't wonder if
there are some better external highlighters that can be integrated with vim. I
heard that people use a vim plugin for using external linters for static
analysis of code and spell checking.

And just to make sure, we agree that adding a feature like AST based
highlighting wouldn't make an editor an IDE, right?

~~~
andrewaylett
Agreed.

------
stockninja
Awesome post!

I love the Tomorrow-Night theme:

Vim: [http://i.imgur.com/HBaCTAu.png](http://i.imgur.com/HBaCTAu.png)

Zsh:
[https://github.com/sindresorhus/pure](https://github.com/sindresorhus/pure)

On Github: [https://github.com/chriskempson/tomorrow-
theme/blob/master/v...](https://github.com/chriskempson/tomorrow-
theme/blob/master/vim/colors/Tomorrow-Night.vim)

~~~
seren
This is unrelated, but in the first screenshot, how do you get a terminal
windows inside vim ? ( git in the top right). I guess it is a neovim feature.

~~~
adamors
Yes, neovim has an integrated terminal.

~~~
JupiterMoon
Running a terminal inside an editor inside a terminal...

What is the use case for this that tmux/screen does not solve?

~~~
Touche
For me tmux requires too much configuration up-front. It's just not worth my
time.

~~~
stickperson
I spent a couple hours reading up on tmux/zsh/vim. If you want, I put my
dotfiles up to save some time with configuration.

[https://github.com/stickperson/dotfiles](https://github.com/stickperson/dotfiles)

------
userbinator
I'm probably in the minority, but I've always found that anything other than
constant-coloured text on a constant-coloured background with a high contrast
to be more distracting than helpful.

It appears I'm not the only one:

[http://www.linusakesson.net/programming/syntaxhighlighting/](http://www.linusakesson.net/programming/syntaxhighlighting/)

~~~
a3n
One thing I like with syntax highlighting is when a string or other delimited
expression hasn't been closed (e.g. as I'm writing it), the following code
looks like it's part of the string or expression. It creates just the
slightest tension in me: "close it ... close it ... close it ...

It's a similar feeling to when I haven't saved my editing in the last minute.
:)

------
isomorphic
This is great. I'd like the ability to live-filter over and above the ability
to search. Also, more than 10 hits per page. It'd be wonderful to have some
sort of voting or popularity metric to sort by. And, for pie-in-the-sky
features it would be nice to have filters based upon contrast / hues / etc.
other than just "dark" and "light."

~~~
nathanaelkane
Thanks, all great suggestions.

I've been wanting live-filter for a while but decided to launch with basic
filtering.

Once I'm happy with core features I'll start looking at stuff like rating,
favouriting, etc.

(I meant to post this comment earlier but it was throttling me.)

------
synthmeat
Can anyone recommend color schemes other than Solarized that have extensive
support across board (not only vim, but all the plethora of terminal
emulators, command-line applications, etc.)?

Solarized is too low-contrast for me, so I have hacked-on support for hybrid
(solarized syntaxes + tommorow color codes), but it's not really uniform. And,
imho, well-balanced contrast is _the_ most important thing.

Non-exhaustive list of applications that I'd like to see supported - vim,
emacs, tmux, weechat, vifm, newsbeuter, taskwarrior, mutt...

~~~
mikekchar
Base16 is probably what you want:
[https://github.com/chriskempson/base16](https://github.com/chriskempson/base16)

There is a related project called Base16-Builder:
[https://github.com/chriskempson/base16-builder](https://github.com/chriskempson/base16-builder)

With Base16-Builder you can make a Yaml file of colours and it will build
profiles for a zillion apps. It's pretty easy to hack to build other profiles
as you just need to make an erb.

Base16 is organized in pretty much the same way as Solarized colours, so if
you have gotten used to Solarized and just want to adjust the colours to
something easier to see (I suffer from the same problem you do), then I think
it is the way to go.

I hesitate to mention this because it isn't quite ready yet, but where I work
we do a _lot_ of remote pair programming over tmux. The problem is that
everybody has their own idea of what colours look good. My buddy and I made a
vim colorscheme that looks reasonable with many different palettes, called
agnostic: [https://github.com/ygt-mikekchar/agnostic](https://github.com/ygt-
mikekchar/agnostic)

So if you ever need to pair program over tmux and one person wants a light
background, but another person wants a dark backgroun, you can do it it. If
you do that kind of thing a lot, then I recommend working with agnostic.
Otherwise I think Base16 is probably the way to go.

~~~
synthmeat
Base16 looks amazing. I'm gonna steal an hour or two of today and give it a
whirl.

Thank you!

------
DiabloD3
I just use Base16 (
[https://github.com/chriskempson/base16](https://github.com/chriskempson/base16)
), so I have the same colorscheme in all relevant apps. It can emulate almost
all of the popular schemes, plus has a lot of others.

~~~
dominotw
base16 is so awesome that I ended up coding whole day on a idle sunday because
I wanted to keep looking at the beauty of my screen.

------
gitaarik
I find myself often switching between dark/light colorschemes when I'm working
inside/outside. However, this is a quite annoying task, I have to change the
colorscheme of my terminal, and of Vim. Besides, I have multiple Vim sessions
running in various tmux/terminal tabs, so when I switch to a different tab, I
have to change the colorscheme of Vim again.

Then when I go inside/outside again I have to switch it all back. Quite a
hassle. Has anyone found any trick to automate this? For starters I wouldn't
know how to change the colorscheme of all my Vim sessions. Can you send a
signal to your Vim sessions maybe? Then changing the terminal colorscheme is
of course dependent on the terminal app you're using.

~~~
goblin89
I’m just inverting the screen (built-in accessibility feature in OS X, there
probably are alternatives on other platforms). Vim and the terminal are set to
a light scheme, one of the standard ones. When I switch to terminal screen and
it’s low light, I hit a key combo and it inverts everything. Does the job for
me.

~~~
hollerith
I do this, too, and it works very well. Specifically, almost everything on my
screen is very light-colored (exception: when I am recreating rather than
working) and then when I am working at night I use OS X to "invert" all the
colors on the screen, with the result that the color 0x000000 becomes
0xFFFFFF, 0x000001 becomes 0xFFFFFE, etc.

If you have access to an OS X environment, you can try out "invert colors" at
System Preferences > Accessibility > Display. iOS has it, too.

~~~
goblin89
Yep! Also when I don’t want colored output (e.g. when working on familiar
codebases or often in the shell), I turn on the Grayscale option in addition
to inverted colors. That gives the screen cool retro-futuristic feel, and IMO
makes it more aesthetically pleasing. Too bad a shortcut can’t be assigned to
this one, but typing "pref access" in Spotlight gets the relevant settings
page.

As a related tip, on iOS you can have a home button triple-press shortcut
which you can assign inverted colors or grayscale, or both. Was stoked when
discovered that.

------
laichzeit0
So the Solarized home page starts off with this paragraph:

> Solarized is a sixteen color palette (eight monotones, eight accent colors)
> designed for use with terminal and gui applications. It has several unique
> properties. I designed this colorscheme with both precise CIELAB lightness
> relationships and a refined set of hues based on fixed color wheel
> relationships. It has been tested extensively in real world use on color
> calibrated displays (as well as uncalibrated/intentionally miscalibrated
> displays) and in a variety of lighting conditions.

I'm assuming this means it's giving a criterion to "measure" how good it is in
a not-entirely-subjective-way. That always bothers me about selecting a theme.
I have no idea if it's good or bad in any standard measurable way.

I look at these themes and can't really tell what it's "unique properties" or
anything interesting about it just by looking at it.

~~~
cbaleanu
First it was monokai then solarized; these days seti is pretty popular too.

No matter how advanced colour matching engineering was needed for solarized,
there will always be a colour scheme that just looks more beautiful... in the
eyes of the beholder :)

To me changing colour schemes is like changing your car - after a few years
you feel it just does not shine like it used to, so you change it.

~~~
allendoerfer
> To me changing colour schemes is like changing your car - after a few years
> you feel it just does not shine like it used to, so you change it.

That is why we cannot achieve perfection.

------
ghodss
My personal favorite... great colors/contrast on a Macbook Pro.
[http://vimcolors.com/1/jellybeans/dark](http://vimcolors.com/1/jellybeans/dark)

~~~
nathanaelkane
It's my favourite dark colorscheme too.

------
paulannesley
Very cool. I'd love to see the ability to tag and filter 256-color schemes,
for `TERM="xterm-256color"`. And some ranking metric (e.g. stars on the GitHub
repo) would help surface the good ones that a lot of people use.

Personally I use a slightly tweaked version of
[http://vimcolors.com/1/jellybeans/dark](http://vimcolors.com/1/jellybeans/dark)
… the id of 1 in the URL suggests the author might too.

~~~
nathanaelkane
Heh, you're on the money, jellybeans is my favourite dark colorscheme.

------
Dowwie
WYSIWYG editors like Vivify
([http://bytefluent.com/vivify/](http://bytefluent.com/vivify/)) are helpful
too. The greatest challenge for me with making vim look nice is in harmonizing
the vim color scheme with that of my guake terminal emulator. I wasted too
much time trying to synchronize terminal colors with vim colors, eventually
giving up.

Whoever solves that problem earns a raise

------
dpacmittal
I find myself constantly switching colorschemes. One I've stuck with for the
longest time is [https://github.com/zeis/vim-
kolor](https://github.com/zeis/vim-kolor). One of the best, IMO.

------
anantzoid
Have been using solarized since a long time. Just love it.

------
alxndr
Anyone have experience with a scope/context-based highlighter, like this?
[https://github.com/daniellmb/JavaScript-Scope-Context-
Colori...](https://github.com/daniellmb/JavaScript-Scope-Context-Coloring)

------
bergmann
When filtering by Light, some color schemes come through that are Dark. Is
this a bug or do those color schemes have both light and dark versions? I
looked at one of the dark "light" schemes and it didn't seem to have a light
version on the github page.

~~~
nathanaelkane
You're correct, this is a bug - occasionally the app has trouble detecting
which backgrounds a colorscheme supports.

I'm working on a new capture engine which fixes this.

~~~
bergmann
Great, thanks!

------
ashmud
See also:
[https://code.google.com/p/vimcolorschemetest/](https://code.google.com/p/vimcolorschemetest/)

Aside: The pages are also a good browser stress test with the large number of
iframes.

------
irth
When I was googling for Vim color schemes some time ago I've seen that
webpage. It is really nice, I like that dark/light feature (but some themes
were miscategorised as dark, at least when I last checked).

------
a1b2c3
Can we do more than 10 per page? I hate having to click next, next, next in
between scrolling. If I could just flick the scroll wheel and let my eyes pick
out the ones I like it would be so much easier!

~~~
nathanaelkane
I'll look into infinite scroll, thanks for the suggestion.

------
nabn
I quite like FukurokujoPro [https://github.com/nemesit/vim-colors-
fukurokujopro](https://github.com/nemesit/vim-colors-fukurokujopro)

------
clemlais
If you want to try a colorscheme quickly : [https://github.com/flazz/vim-
colorschemes](https://github.com/flazz/vim-colorschemes)

------
scelerat
Thumbnails would be great. A gallery view of thumbnails, possibly accompanied
by a palette of the main colors in the scheme, would greatly assist the
browse-ability of the site.

This is great.

------
nitin88g
unlike most of the people, I prefer light background instead of dark (black)
background. anyone else feel the same? and most of the themes are with black
background

~~~
nathanaelkane
I prefer light colorschemes when I'm using a glossy screen.

------
grindhold
finally, beautiful themes that are sophisticated enough to work in both
terminal and GUI. And all in one place. This link made me a very happy man.

------
aequitas
Could you add a preview for diff mode? It always disappoints me how (even the
default) themes make vimdiff as hard to read as possible.

~~~
nathanaelkane
Definitely possible - should be no more difficult than adding support for a
different language. That said, I need to work through some other features
first.

------
sebastianhoitz
My personal favorite is the railscasts theme. Wide support for iTerm and other
applications aswell.

------
glitchyme
My favourites: asu1dark, distinguished, guardian, h80, candycode, wood

------
gosukiwi
Oh wow my theme magically appeared there, ha.

------
ciroduran
What's wrong with pablo and murphy? :-)

------
superkvn
I love vim.

