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