screen.vim is a vim plugin which allows you to simulate a split shell in vim using either gnu screen or tmux, and to send selections to be evaluated by the program running in that shell:
After installing screen.vim and the terminal multiplexer of your choice, you can then run vim in a shell and execute :ScreenShell to start a new session where a shell will be opened in a bottom split of your multiplexer.
For gvim users, since you are not running vim in a console, :ScreenShell will instead attempt to open a terminal and start the multiplexer in there.
Once you have the shell open, you can then send visual selections to it using the command :ScreenSend.
Additional usage and configuration information can be found in the screen.vim help file.