I watched a presentation by @rdegges, and he convinced me to use Vim. This repo is my setup, which is a forked version of his with my own personal tweaks. I would suggest downloading the original rather than mine.
His repo is here: https://github.com/rdegges/dot-vim