Evaluate Clojure From Neovim
Here's how to evaluate a buffer in neovim in a clojure repl.
Install
Conjure supports interactive evaluation of several languages from within nvim, including Clojure.
Install it with packer:
return require('packer').startup(function(use)
-- ...
use {
'Olical/conjure', -- repl
ft = 'clojure'
}
-- ...
end)
Evaluating
Evaluating is the main event. You get to run the code in your source file or scratch buffer inside an attached REPL.
<leader>eb- entire buffer<leader>ee- inner form (from position of cursor, to leaf expression)<leader>er- outer form (from position of cursor, to top parent expression)<leader>e!- replace expression with evaluated value<leader>em[mark]- at mark (previous marked, egma, then<leader>ema)<leader>E- visual selection (previously selected)<leader>E[motion]- visual selection (simultaneously specify selection)<leader>ew- inspect only (previously evaluated)
Eval Buffer
The eval buffer is where the output is shown. You may also get some in-file overlays for code output, but sometimes, you'll want to see it in a persistent, larger buffer.
To position the buffer:
<leader>ls- horizontal split<leader>lv- vertical split<leader>lq- close eval buffer<leader>lr- reset/clear contents
To access the latest evaluation return value:
"cp- paste eval result from registerc
Learn More
:ConjureSchool- interactive teacher for these basics and a few others:h conjure- general help, not clojure-specific:h conjure-client-clojure-nrepl- see these and more keymappings