I’m currently following https://github.com/ocaml/merlin/wiki/vim-from-scratch for my OCaml / Merlin / VIM setup.
One thing I’m missing right now is OCaml REPL <-> VIM integration. I’m looking for something where:
- we start a OCaml REPL from some project
- we can type directly into the REPL
- we can send current VIM buffer to REPL
- we can send last OCaml to REPL
I use https://github.com/jpalardy/vim-slime together with tmux for sending vim buffer contents to utop. I.e. I manually start utop within a tmux session, then configure vim-slime for that session, and send stuff from vim to tmux with
<c-c><c-c>. vim-slime works also for other terminal multiplexers, see the docs.
I don’t understand your point 4.
Both neovim and vim now have terminal emulators integrated into them, though I hear neovim’s is a little more stable. You might want to look into this, as it’d allow you to use vim’s regular copy-paste to copy into the REPL.
I haven’t used it but it seems vim-slime can also target the terminal emulators in new vim and in neovim versions – i guess then it mainly provides a useful shortcut for copy and paste and perhaps some automatic appending of
After working with Toploop for awhile, I think that ;; is just a limitation of the terminal UI. if you can distinguish between Enter and Shift + Enter, you can make ;; optional.
@jeremiedimino mentioned that there is a workaround to automatically insert
If you use Tuareg, you can just type Sift-return to evaluate your phrase.
yeah. That’s basically what I’m saying. because the terminal can’t distinguish between different combinations, ;; is needed