Skip to content
Additional IDE-like functionality for Clojure development using cider-nrepl
Branch: master
Clone or download
Latest commit 3e0dcda Jan 3, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc Add documentation for cleanNs and undef Jun 26, 2015
plugin
README.md Update README.md Jan 3, 2018

README.md

cider.vim

Some additional IDE-like functionality for Clojure development on Vim using cider-nrepl and refactor-nrepl.

Using

Requires fireplace.vim, cider-nrepl and refactor-nrepl middlewares:

Leiningen, ~/.lein/profiles.clj

{:user {:plugins [[cider/cider-nrepl "0.9.1"]
                  [refactor-nrepl "1.1.0"]]}}

Boot, ~/.boot/profile.boot

(swap! boot.repl/*default-dependencies*
       concat '[[cider/cider-nrepl "0.9.1"]
                [refactor-nrepl "1.1.0"])

(swap! boot.repl/*default-middleware* conj
       'cider.nrepl/cider-middleware
       'refactor-nrepl.middleware/wrap-refactor)

Cider-nrepl takes care of all other dependencies so you don't need to depend e.g. on cljfmt.

Features

  • Code formatting (uses cljfmt)
    • cff (current form), cf{motion}, cF (current file)
  • Var undef / alias unmap
    • cdd
  • Clean ns (eliminate :use, sort, remove unused stuff and duplication)
    • <F4>
  • Resolve missing
    • cRR (TODO: Find better binding)
    • <F5>: findSymbol (TODO: Find better binding)

Configuration

If you do not like the default bindings, you can disable them and create your own. Check the implementation file for <Plug> bindings.

let g:cider_no_maps=1 " Disable built-in mappings

" Set refactor-nrepl options, e.g. tell clean-ns to not use prefix forms
let g:refactor_nrepl_options = '{:prefix-rewriting false}'

" Setup visualmode bindings yourself, to some keys which don't interact
" with e.g. change command
autocmd FileType clojure xmap <buffer> f <Plug>CiderFormat

TODO

  • Cider-nrepl
    • Test utilities
    • Code reloading
    • Inspecting, tracing, debugging?
  • Refactor-nrepl
    • Rename symbol

License

Copyright (C) 2015-2017 Juho Teperi

Distributed under the MIT License.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.