Find file
Fetching contributors…
Cannot retrieve contributors at this time
52 lines (42 sloc) 1.86 KB
This is a mirror of
A script to interact with interpreters that have REPL.
Main features:
* non-intrusive
* cross-platform (you need to install AND build Vimproc from
* syntax highlighting is supported
* easy to customise and add new interpreters (see plugin/repl.vim for details)
Interpreters supported out of box:
Shell: bash, tcsh, cmd.exe
Haskell: GHCi, Hugs
Scheme: Racket, Chicken
Computer algebra: REDUCE, Maxima
:Open<YourInterpreter> <ExtraArguments> - start session
:OpenGHCi to start GHCi
:OpenGHCi! to forcefully start a new session in a new window
:CloseRepl (local to the repl window) - disconnect REPL
:CloseRepl! - disconnect and wipeout the buffer
:SaveInput <filename> - save input lines, use ! to force overwrite
<Leader>e - in normal mode: send current line to the interpreter, in visual mode: send selection
Local to the REPL window (normal mode only)
<Return> - send current command to the interpreter
<C-J> - copy current command to the command prompt
<C-K> - recall previous command to the command prompt
<count>[[ - navigate to the start of the current or previous command
<count>]] - navigate to the start of the next command
<count>[] - go to the end of the previous command
<count>][ - go to the end of current or the next command
The following function can be used to define your own mappings or autocommands:
repl#SendText(bufOrType, text)
bufOrType: buffer number or its type ('' means currently active buffer)
text: a list of strings to join and send to REPL
You may edit and re-execute commands and the plugin should update output using its markers
Feel free to send you comments. Especially I would like to hear what autocommands are worth using besides CursorHold