I’ve been using spacehi for years. It highlights invisible characters: trailing spaces and tab characters.
Here’s how it looks if you toggle it on and off:
In my dotfiles setup, it’s turned on by default.
In most cases, whitespace characters do not matter. But sometimes they do. For example, Go and Python are picky about spaces. Also, a mix of spaces and tabs will look different for different people and their editors — because nobody can agree how many spaces at tab character is (4 or 8?!). This is something I’ve talked about before.
This week, for the second time in a couple of weeks, I lost a bunch of time on another whitespace: character 160, the non-breaking space. To make a long story short, it was a copy and paste from Skype, and the JSON parser I was using choked on it.
It seems spacehi hasn’t been touched in (almost exactly) 10 years. I found its mirror on github. But it didn’t handle non-breaking spaces, so I forked it.
I’m willing to maintain it, it a very simple Vim plugin. Bug reports and improvements are welcomed.