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, you will be prompted for more configuration.
tmux socket name or absolute path:
If you started tmux with the -L or -S flag, use that same socket name or path here.
If you didn't put anything, the default name is "default".
tmux target pane:
Note that all of these ordinals are 0-indexed by default.
":" means current window, current pane (a reasonable default)
":i" means the ith window, current pane
":i.j" means the ith window, jth pane
"h:i.j" means the tmux session where h is the session identifier
(either session name or number), the ith window and the jth pane
"%i" means i refers the pane's unique id
"{token}" one of tmux's supported special tokens, like "{last}"
You can configure the defaults for these options. If you generally run vim in a split tmux window with a REPL in the other pane:
let g:slime_default_config = {"socket_name": get(split($TMUX, ","), 0), "target_pane": ":.2"}
Or, more reliably, by leveraging a special token as pane index:
let g:slime_default_config = {"socket_name": "default", "target_pane": "{last}"}
Some REPLs can interfere with your text pasting. The bracketed-paste mode exists to allow raw pasting.
tmux
supports bracketed-paste, use:
let g:slime_bracketed_paste = 1
" or
let b:slime_bracketed_paste = 1
(It is disabled by default because it can create issues with ipython; see #265).