SLIME-like Lisp and Clojure REPL inside Vim with Profiling, Hyperspec, Paredit
Common Lisp Vim script Scheme Clojure Python
Clone or download
kovisoft and vim-scripts Version 0.9.12
Added support for the R language via swank-R (by Philipp Marek).
Test form for SlimvEvalTestExp() may wrap the selected s-expression.
Added Shift+Tab mapping for cycling backwards in the completion popup menu.
User defined REPL buffer name may contain some special characters.
Pass port number to the swank server in SWANK_PORT environent variable on Linux (by Glen Gibb and Federico Churca-Torrusio).
Autodetect wx86cl64.exe (Clozure CL) on 64 bit Windows.
Added applescript support for starting swank through iTerm (by Seth Price).
Add Racket support for delimiter '[]' and '{}' (by Jimmy Lu).
Bugfixes: If the user started a normal mode command prefixed with a count, then the count was cleared by the REPL refresh timer.
CursorHold trigger ignore mappings to prevent collisions with other plugins.
Preselect function name before starting swank server in the Disassemble command.
Do not append '>' at the prompt if it already ends with it.
Package name not found when 'noignorecase' was set.
Paredit ,< and ,> when 'whichwrap' contains 'h' and 'l'.
Keep multi-line SLDB abort messages commented all throughout (by Federico Churca-Torrusio).
Prevent call to frame-call on AllegroCL (by Robert Kerr).
Tag lookup (Ctrl+]) added garbage to symbol name.
Parsing arrays (and other prefixed forms) returned from the swank server.
Prevent accidental multiple registration of slimv autocommands.
Disable autocommands for the REPL update, make sure 'updatetime' is not too low.
Latest commit 61ce81f Dec 28, 2013
Failed to load latest commit information.
doc Version 0.9.12 Jan 29, 2014
ftdetect Version 0.9.6 Apr 8, 2012
ftplugin Version 0.9.12 Jan 29, 2014
indent Version 0.9.5 Mar 16, 2012
plugin Version 0.9.12 Jan 29, 2014
slime Version 0.9.12 Jan 29, 2014
swank-clojure Version 0.8.0 Apr 15, 2011
syntax Version 0.9.11 Jan 29, 2014
README Version 0.9.11 Jan 29, 2014


This is a mirror of

Slimv is a SWANK client for Vim, similarly to SLIME for Emacs. SWANK is a TCP server for Emacs, which runs a Common Lisp, Clojure or Scheme REPL and provides a socket interface for evaluating, compiling, debugging, profiling lisp code. The SWANK server is embedded in Slimv, but you can also use your own SWANK installation.

Slimv opens the lisp REPL (Read-Eval-Print Loop) inside a Vim buffer. Lisp commands may be entered and executed in the REPL buffer, just as in a regular REPL.

Slimv supports SLIME's debugger, inspector, profiler, cross reference, arglist, indentation, symbol name completion functions. The script also has a Common Lisp Hyperspec lookup feature and it is able to lookup symbols in the Clojure API, as well as in JavaDoc.

Slimv comes with Paredit Mode, which is similar to the functionality of paredit.el in Emacs. Paredit Mode tries to maintain the balanced state of matched characters (parenthesis marks, square and curly braces, double quotes). Matched characters are inserted and removed in pairs, also when working with a block of text (well, mostly). Slimv also implements many paredit.el s-expression handling functions, like Split/Join/Wrap/Splice/Raise. Slurpage and Barfage known from Emacs is also possible but in a different fashion: you don't move the list element in or out of the list, rather you move the opening or closing parenthesis over the element or sub-list.

Please visit the Slimv Tutorial for a more complete introduction:

Please find the most recent development version in the repository:

GitHub mirror:

Here follows a list of Slimv commands, any similarity with SLIME's menu is not coincidental. :)

Edit commands:
    *  Close Form
    *  Complete Symbol
    *  Function Arglist
    *  Paredit Toggle

Evaluation commands:
    *  Eval Defun
    *  Eval Current Expression
    *  Eval Region
    *  Eval Buffer
    *  Interactive Eval
    *  Undefine Function

Debug commands:
    *  Macroexpand-1
    *  Macroexpand All
    *  Toggle Trace
    *  Untrace All
    *  Disassemble
    *  Set Breakpoint
    *  Break on Exception
    *  Inspect
    *  Abort
    *  Quit to Toplevel
    *  Continue
    *  Restart Frame
    *  List Threads
    *  Kill Thread
    *  Debug Thread

Compile commands:
    *  Compile Defun
    *  Compile and Load File
    *  Compile File
    *  Compile Region

Cross Reference commands
    *  Who Calls
    *  Who References
    *  Who Sets
    *  Who Binds
    *  Who Macroexpands
    *  Who Specializes
    *  List Callers
    *  List Callees

Profile commands:
    *  Toggle Profile
    *  Profile by Substring
    *  Unprofile All
    *  Show Profiled
    *  Profile Report
    *  Profile Reset

Documentation commands:
    *  Describe Symbol
    *  Apropos
    *  Hyperspec
    *  Generate Tags

REPL commands:
    *  Connect to Server
    *  Interrupt Lisp Process
    *  Send Input
    *  Close and Send Input
    *  Set Package
    *  Previous Input
    *  Next Input

For more information see the included documentation.