- vim-fugitive
- massively awesome git integration, see this screencast: http://vimcasts.org/episodes/fugitive-vim---a-complement-to-command-line-git/
- Syntastic
- lint/syntax checker
- clang_complete
- use LLVM to generate AST for code completion
- ultisnips
- best snippet engine
- vim-snippets
- snippet repository shared by all vim snippet engines
- ctrlp-funky
- jump to functions in file
- delimitMate
- autocomplete (), {}, <> etc smartly
- recover.vim
- auto-diff to check if backup differs from file on disk
- undotree
- visualize and interact with the undotree
- vim-space
- makes space a repeater for f/F/t/T/n/N/etc motions
- Enter-Indent
- proper indentation when pressing enter after { (usually)
- vim-repeat
- make some vim plugins work well with the . command (:h . if you don't already know! Super important!)
- vim-bufsurf
- proper back/forward commands (like browser tabs)
- vim-fswitch
- switch between cpp/h files (not super great but better than nothing)
- vim-commentary
- language-aware comment/uncomment keybinds
- vim-surround
- shortcuts for ((surrounding)) <things with "things">
- neocomplete
- (imo) best auto-completion engine, works well with clang_complete and ultisnips (see my vimrc)