vim: major refactor, broke up into autoload and ftplugin