Emacs comes configured with a command called "send-region-to-shell" that will take the current region and send it to a python interpreter. It makes for a great development experience that I haven't seen replicated with other tools and I'm not sure why there's not a bigger interest in it.
If I'm not mistaken, that's one of the features of Tslime[1], which is a Vim plugin that allows Vim to communicate with Tmux. [1]: https://github.com/jgdavey/tslime.vim/
This is one of the longest-standing line in my vimrc so far:
Plug 'epeli/slimux'
Works best for what I do.