Pathogen vs Vundle
I’ve changed from Pathogen to Vundle, which had a tremendous improvement in control over my vim plugins.
The reason I believe Vundle is better, is because I previously managed all vim bundles with git submodule. Git submodule is just not for me. It’s issue is that it’s not intuitive for me to update modules. Especially for example when the repository contains a subfolder that is the bundle such as chriskempson’s tomorrow-night.
With Vundle, I can add tomorrow-theme/vim/ into the runtime path.
Myusuf3’s numbers.vim is so awesome, if you haven’t seen it I think it’s probably the first thing you should check out. Essentially, normal mode has realtive line numbering, and insert mode has absolute line numbering.
If you thought numbers.vim was awesome, Lokatog’s vim-easymotion is even cooler! These are the tweaks I use. Easymotion recommends customizing to your needs. Also, in the current master vim-seek is pretty much implemented as a plug within easymotion. Insanely fast cursor positioning.
Git and Gists
- vim-gitgutter, shows you additions and deletions in the gutter next to the numberline.
- vim-fugitive, brings git to vim. Prefix git commands with ‘:G’ such as ‘:Gstatus’.
- gist-vim, post the buffer to gist.github.com
Navigate vim’s undo tree. Yes, you heard me right. Undo tree, means undo two steps back and branch off. Don’t like that branch go back to the root and head back up to where you were before. Insane!
Snippets from textmate! You can even customize the docstring style, which is way impressive.
Add characters around visually selected text. Change a pair of double qoutes to single quotes. Lot’s of useful manipulations of characters that surround text.
Syntax and Style checking in vim. Very useful. It has dependencies on external tools, for instance pylint. Very useful.
So, I’ve looked at sublime-text’s minimap, and while these two things are not completely similar, I think tagbar is more useful in respects to understanding unfamiliar code quickly.
So, since I use virtualenv and virtualenvwrapper, without this plugin syntastic yells that imports of modules within a virtualenv don’t exist.