Grab some text and "send" it to a GNU Screen / tmux session.
VIM ---(text)---> screen / tmux
Presumably, your screen contains something interesting like, say, a Clojure REPL. But if it can receive typed text, it can receive it from vim-slime.
The reason you're doing this? Because you want the benefits of a REPL and the benefits of using Vim (familiar environment, syntax highlighting, persistence ...).
Read the blog post.
I recommend installing pathogen.vim, and then simply copy and paste:
cd ~/.vim/bundle
git clone git://github.com/jpalardy/vim-slime.git
If you like it the hard way, copy plugin/slime.vim from this repo into ~/.vim/plugin.
By default, GNU Screen is assumed, you don't have to do anything. If you want to be explicit, you can add this line to your .vimrc:
let g:slime_target = "screen"
When you invoke vim-slime for the first time (see below), you will be prompted for more configuration.
screen session name
This is what you put in the -S flag, or one of the line of "screen -ls".
screen window name
This is the window number or name, zero-based.
Tmux is not the default, to use it you will have to add this line to your .vimrc:
let g:slime_target = "tmux"
When you invoke vim-slime for the first time (see below), you will be prompted for more configuration.
tmux socket name
This is what you put in the -L flag, it will be "default" if you didn't put anything.
tmux target pane
":" means current window, current pane (a reasonable default)
":i" means the ith window, current pane
":i.j" means the ith window, jth pane
By default, the current paragraph will be sent. This is equivalent to typing vip. If you (visually) select text, that will be sent over:
C-c, C-c --- the same as slime
There will be a few questions, as to where you want to send your text, and the answers will be remembered. If you need to reconfigure:
C-c, v --- mnemonic: "variables"