Emacs users know how powerful emacs is, and one of the strongest points it has is slime. Slime is a emacs minor-mode that let you send parts of the current buffer to a REPL (Read–eval–print loop). Meaning that you can test each step you are programming and see how it work without having to execute the full program.
While this is really very powerful, emacs doesn't feel comfortable yet to make a big development, so I was looking somehow do this with vim. The best option is to use slimux which sends your vim lines to another pane in your tmux.
There are other plugins like slimux, but slimux is the one that has a python plugin that reindent python code so it can work with python interpreter.