If you are a Vim fan, try using IdeaVim plugin with PyCharm. Plugins can be installed directly from the in-IDE plugin library.
In my experience they're always missing a crucial motion or two and it just becomes counter productive for me to keep stumbling into the missing command. I think it's the curse of vim, we all use different subsets of its abilities!
Another factor is the vim layer tends to be incomplete in terms of functionality exposed by the host application. ST2's Vintage mode (which i did play with) is a good example of this problem.
EDIT: brain fart
also emacs's evil mode has come a long way.
JetBrains products have awesome personalization capabilities.