I'm not sure how many vim users there are around here besides me, as I recall there was an awful lot of Emacs users out there. However, I got tired of seeing my compiler warnings caught by other people after I'd committed.
So two fairly useful plugins for vim are: Syntastic (syntax checking): https://github.com/scrooloose/syntastic YouCompleteMe (code-completion): https://github.com/Valloric/YouCompleteMe In both cases in order to work properly they need to be able to know how to compile the source file to work properly. Usually this means a bunch of work extracting the right info from the build system. However YouCompleteMe supports using the clang compilation database: http://clang.llvm.org/docs/JSONCompilationDatabase.html Unfortunately, the best way to produce a clang compilation database is with CMake, which we don't use. However, there is another option. Bear: https://github.com/rizsotto/Bear Bear hooks into any build system by hooking the exec*() function calls and detecting the build flags. From that it builds the JSON file that the clang system can read. Which can then be used to know how to compile the system. The mainline of Bear doesn't have working OS X support (yet), but you can find it ported for OS X here (you'll need to use the porting_to_osx branch): https://github.com/breser/Bear/tree/porting_to_osx I've added the needed .ycm_extra_conf.py and a make target to produce the compilation database in r1476374. So using these plugins with the Subversion code base should be as simple as installing the plugins into vim per their directions, installing bear, running make clean && make compile-commands.