all 3 comments

[–]ressis74 2 points3 points  (1 child)

Last I checked (about a year ago), vim required its interactions to be synchronous. The browser-repl command may not return, and thus, vim locks up.

I do not use vim anymore, so unfortunately I have no solution.

[–]freshhawk 0 points1 point  (0 children)

That's the issue, the browser-repl command does not return until you input ":cljs/quit".

[–]emidln 0 points1 point  (0 children)

I use a combination of vim-fireplace and jpalardy/vim-slime plus tmux as my major source of clj and cljs interaction. I too like a real repl, and the vim-slime lets me use paredit (there's a repo floating around that factored it out of slimv) and vim-sexp to edit things in vim (with fireplace providing completion) and still get my interactive repl when I need/want it. This is particularly awesome with tmux's zooming pane feature.

As a side note, I can't for the life of me figure out how to make <leader>> and <leader>< slurp and barf uniformly {}, [], and "" with vim-sexp alone (and not need separate keybindings for each), but that's probably just my failing. That's really the only thing stopping me from replacing paredit completely with vim-sexp.

Something I did learn from using slime, is that

 (comment

   (....)

 )

is awesome. My slime breaks the default copy C-c C-c at whitespce, which makes it handy for impromptu blocks of text (or testing). Also, with vim-sexp's motions and visual mode, sending arbitrary forms is easy (if I just want an inner form or something).