I couldn't get vim-ipython to work, so I made this .vimrc solution that works with ConqueShell:
imap <silent> <leader>m <Esc>Vy<C-w><C-w>p
nmap <silent> <leader>m Vy<C-w><C-w>p
vmap <silent> <leader>m y<C-w><C-w>p
imap <silent> <leader>n <Esc><C-w><S-w>']0j
nmap <silent> <leader>n <C-w><S-w>']0j
From a new Vim screen and ConqueShell installed, type :ConqueTermSplit python
. Now return to the original window (the shortcut is <C-w><S-w>
) and type in some Python code.
To send the line under to cursor to the interpreter, press <leader>m
. I have the leader mapped to comma, so that's a pretty simple motion. To send a block of code, highlight some lines in visual mode and do <leader>m
. It works the same way.
To return to your script, <leader>n
goes to the line immediately following what you just executed. As a side benefit, you can also use this command to move from window to window quickly.
EDIT (2-20-2015): If you're using ipython as the interpreter, you need to run %autoindent
to turn off auto-indenting to preserve formatting for some code blocks. Cheers!