Vintage Colour is a plugin for the Sublime Text 3 text editor that enhances Vim emulation packages by changing your colour scheme whenever you change Vim mode.

Modal interfaces are often criticised by interaction designers because they increase the possibility of errors. Despite this, modal text editors such as Vim very popular.

I currently use Sublime Text, but with Vim key bindings via the built in Vintage plugin. In normal use, the current mode is displayed in the status bar (amongst a lot of other information), and there is a subtle change of cursor type.

Current Mode in the status bar

Spot the current mode in the status bar

Subtly different cursors in each mode

Mapping modes to colour schemes

In order to make the current mode obvious enough that you may even be aware of it subconsciously, I created this plugin to have a different colour scheme for each mode. At first I tried highly contrasting schemes, e.g. going from a ‘light on dark’ theme to a ‘dark on light’ one. While the change was definitely obvious, it was also incredibly jarring.

Jarringly high contrast colour scheme changes

I spent time creating variations on the Dracula Theme to find three schemes that were complementary but distinct.

Three different modes

Three modes, three colour schemes

Additionally, the current line can be highlighted when in Insert mode.

Line highlightin in Insert mode

Inspiration

The idea from this came from my frustrating experience with Unity. When testing your project, any changes to the properties of your objects (e.g. position, scale, colour) are reverted when you finish testing. On one hand this makes sense, as you don’t want to lose your finely tuned parameters, on the other hand it is incredibly frustrating to forget that you are in play mode and lose any useful adjustments you made. Looking for a solution, I discovered the Playmode Tint preference and promptly set it to a really unmissable hot pink.

Bright pink Unity

Unity in hot pink play mode

Package

The package is compatible with both the built in Vintage Mode and NeoVintageous packages, and lives on Package Control here: https://packagecontrol.io/packages/VintageColor.