Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A vim plugin to give you some slime. (Emacs)

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 ftplugin
Octocat-spinner-32 plugin
Octocat-spinner-32 README.md
README.md

vim-slime

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.

Installation

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.

Configuration (GNU Screen)

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.

Configuration (tmux)

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

Key Bindings

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"
Something went wrong with that request. Please try again.