Best Color Scheme For Coding, Easiest On the Eyes?
Marzubus writes "I tend to do a lot of code editing in vim and sometimes get the 'burning eyes' or headaches. I have been trying to find a background / foreground combination for my terminal sessions which is easiest on the eyes but cannot seem to find any real data on this subject. Does anyone know of a study / data on this topic?"
I doubt that the colors will make half as much difference as the quality of your monitor, unless you've been using chartreuse on magenta or something. Not that I know a great deal about the technical details, but I have observed that many cheaper CRTs or LCDs seem to make my eyes hurt sooner than a more expensive one. Apple's monitors are excellent for this, BTW, but they do price them terribly high. These days I'd expect you can get something equivalent for less, though it won't be a $129 model. Also, in 2004 the same question was discussed at length here, probably at least some of that is still relevant.
Caveat Utilitor
I've looked into this topic a few times in the past...
Last time, I found a page that shows samples of hundreds of VIM color schemes:
http://www.cs.cmu.edu/~maverick/VimColorSchemeTest/index-pl.html
I don't use VIM (I use JOE), but the color schemes are easy to convert manually
Whats nice is that you can scan through a _lot_ of schemes very quickly, and easily pick out the ones that work very well.
Zenburn is a low-contrast colour scheme for low-light conditions. It is popular color scheme among programmers because it is very easy on the eyes.
Legend says it was used by the ancients when they developed teh internets and our realm.
* http://www.codinghorror.com/blog/archives/000682.html
* http://slinky.imukuppi.org/zenburn/
* http://www.vim.org/scripts/script.php?script_id=415
* http://slinky.imukuppi.org/2006/10/31/just-some-alien-fruit-salad-to-keep-you-i n-the-zone/
* http://termos.vemod.net/zenburn-for-konsole
It is I, 1100101, and this was asked three months ago with a good discussion. I guess slashdot operates in quarterly cycles. :)
Here is the previous discussion: http://science.slashdot.org/article.pl?sid=08/04/08/2213222
As to not karma-whore, here was my response as a doc...
http://slashdot.org/comments.pl?sid=515908&cid=23008272
A black foreground on a black background has always given me the least eye pain.
Pink text on green background.
This combination is so vibrant that it burns the code into your brain, allowing you to better visualize your program.
That, or give you a seizure.
This comes up all the time.
Personally I find the above best. I can cope with green or yellow text, but find white best, followed by cyan. This whole idea of the modern WYSIWYG desktop trying to emulate paper and thus having a white background is just stupid. Paper is a reflective medium. Screens emit and therefore looking at a white screen is going to give you the office worker's equivalent of snow blindness. Print preview should have a white background, and it should be an easy thing to switch it on for typing up a text document (for true WYSIWYG) but we really shouldn't be using it all day.
These posts express my own personal views, not those of my employer
A fir bit of informal research has been done by chessplayers on this subject. After decades of experimenting, the choice of chessboard color seems to have settled on dark green on yellow or beige.
This makes sense when one considers that the eye sees colors best in the middle of the spectrum where yellow and green are; and sees worst at the ends where they fade into infrared and ultraviolet.
The few scientific studies I've found on readability indicate that there is no color scheme that significantly enhances readability -- I would think readability would only be part of the issue regarding the eye strain problem.
So, what about making your own bias light for your monitor? That will _definitely_ reduce eye strain.
I love Zenburn. I use it on all my machines now and at work.
But there is one thing you should do in your .vimrc prior to setting :colorscheme zenburn, and that is forcing the use of 256 colors:
Also I found that the search highlighting wasn't visible enough for my taste, so I tuned it. After :colorscheme zenburn I have:
And if you like to have a little more contrast, then insert the following before your :colorscheme zenburn:
which together makes for this:
Ages ago when I was using Borland IDEs I got used to the blue background with white text and I still prefer that over anything else.
To be precise Borland default color scheme was yellow on blue, which I couldn't stand, but with white text it's actually pretty good.
-- Reality checks don't bounce.
The old color schemes were well researched. When people were paying $100,000's on their mainframes, they wanted monitors that worked well for their operators. The productivity of the mainframe depended on it. This resulted in many of the old monitors being amber on black or green on black rather than the easier to build white on black monitors.
For color monitors, the white on blue and yellow on blue schemes are the best. Black on white isn't bad; it has the virtue of being high contrast. White on black is still one of the worst color schemes. I never got a good explanation of why black on white is good (think original Apple Mac), vs. white on black is bad (original IBM CGA).
Resolution and refresh rate are also important. Generally, rendering the same number of characters at a higher resolution is easier on the eyes. Thus, the original IBM PC Hercules monochrome card is a much nicer screen to program on than the original IBM PC CGA video card. It wasn't until VGA that the color resolution on the IBM PC was as good as the monochrome resolution, and people started switching in a broad way to color only displays.
Finally, look at purchasing a pair of glasses. Even if you have "borderline" vision, like I do, they may ease eye fatigue. At first, they will probably bother you, until you get used to using them.
My eyes never burn no matter how many 16- and 24-hour sessions.
This comes up on /. every so often, and I'm summarizing here the advice from a few people who (to me at least) sounded knowledgeable about the topic last time it came up.
Based on this advice I've switched to blue on light beige (#0000C0 on #FFFFC0). It has a strong contrast in two channels, no change in the third, and suits my office (reasonably bright, but lit with non-natural light). So far, this is working well for me.
A little slash-trivia here:
You can also notice the refresh of a CRT if you chew on something hard, like peanuts, while staring at the screen. The crushing action of your teeth vibrates your head just enough to interface with the screen's refresh rate, causing the picture to "bounce" and shear in your field of view.
Also works with low and pedal tones on a brass (low brass pref) instrument. Makes the digits on a LED digital clock waver and bounce slowly in addition to seeing screen refresh.
Try this site if you're using XP.
I didn't even know you could tune ClearType - but you can, and it makes ALL the DIFF uh rence... intheWORLD. Just like the right man in the wrong place...
DATABASE WOW WOW
Apple Windows and Linux all have pretty awful sub pixel rendering. Ideally you want a solution that lets you tweak the size of a font infinitely: you should be able to make any word or any letter any size what-so-ever. To my knowledge none of the common sub-pixel rendering systems provide this level of fine grained control.
The only good sub pixel rendering I've ever seen is well explained on Anti-Grain's Text Rendering page. This page explains how bad most sub-pixel rendering is, and how much better their open source method is.