virtualenv + vimからのpython実行

pythonで何か書くときは、virtualenv(virtualenvwrapper)環境で、vimでコードを書いています。
書いたコードを実行するのにvimからシェルに戻るのは面倒なので、vimから p でpythonのコードを実行 (!python %)するようにしていたのですが、vimの!だとvirtualenvの設定を引き継いでくれません。
そのため、必要なライブラリがなくて実行できず困ってました。

というわけで、検索してみたらすぐに発見

Vim-users.jp – Hack #168: シェル以外から立ち上げたVimでもシェル側の環境変数PATHを考慮したコマンドの呼び出しを行う

これがあればPATHを引き継いで実行できる!

.vimrc
[text]
function! s:Exec()
exe "VimProcBang " . &ft . " %"
:endfunction
ommand! Exec call <SID>Exec()
map <silent> <Space>p :call <SID>Exec()<CR>
[/text]