Use Sublime Text 2 on OS X with the Vintage and VintageEx plugins enabled. This gives you Vi but in a much cleaner application on the desktop.
Command-Shift-P to access Package Manager, then search for VintageEx
// Settings in here override those in "Default/Preferences.sublime-settings", and
// are overridden in turn by file type specific settings.
Syntax highlighting is built-in for most languages and you can add snippets from TextMate with a simple transform.