256 Colours in Vim

Recently I’ve been looking at different vim colorschemes, after using vimdiff and finding I couldn’t see half of the code. I’ve been using relaxedgreen for ages, and it is excellent but I find the blue really hard to see on my black background so I was in the market for an alternative.

Touring Colours in Vim

Please excuse the all-over-the-place spelling in this post, I’m British so “colour” is a word and “color” is a vim command. Confused? Me too

I grabbed two fantastic scripts – the Vim Color Sampler Pack and the rather awesome ScrollColors plugin which allows you to cycle through all your colorschemes and try them out.

Inconsistent Themes

On playing with scrollcolor I saw a few themes that I really liked, but they didn’t apply when I set them in my .vimrc. After a while I realised some themes were working on the second pass, but not the first. Closer inspection showed that applying the vibrantink scheme made all future schemes work flawlessly, and when I looked at the source for that scheme, I saw that it was setting t_Co=256.

Forcing 256 Colours

I added this line to my .vimrc before the colorscheme setting:

:set t_Co=256
syntax on
colorscheme vividchalk

I suspect there are better ways to tell my terminal that it has 256 colours but for now, I’m happy and coding again (with vividchalk), which looks something like this:

One thought on “256 Colours in Vim

  1. vim will honor the number of colors reported by `tput colors`,

    tput colors makes its decision based on your shell’s TERM variable.

    You might want to look into changing your TERM variable to xterm-256colors or some such.

Leave a Reply

Please use [code] and [/code] around any source code you wish to share.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

To respond on your own website, enter the URL of your response which should contain a link to this post's permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post's URL again. (Find out more about Webmentions.)