I mention using NeoBundle in this post, but I’ve since made the switch to vim-plug. Do it, it’s wonderful.
This is just a quick dependency list for those already using the languages or are just starting out. I feel that they are essential. To install these you will need a bundle manager, I recommend NeoBundle, Vundle or vim-plug. I am currently using NeoBundle but may well swap to vim-plug soon for the minimalism and impressive parallelism.
These are extremely useful for either language, and generally enhance Vim in many ways. So really, these will improve your experience no matter what you write.
- YouCompleteMe – Fast automatic code completion. Works well with completion engines and falls back to a really good fuzzy string search. So good for plain text or languages without a completer.
- vim-localvimrc – Have per-project configuration, I have things like <localleader>tt mapped to execute the very specific command to test this file.
- vim-easymotion – Jump to anywhere. This is essential for anything in Vim.
- jshint.vim – As well as having JSHint installed as a global node module for syntastic, I’d highly recommend this to actively check things and add them to the quickfix list.
- tern_for_vim – Tern omnicomplete support that YouCompleteMe hooks in to. Works very well if set up correctly. It can even infer or read types from JSDoc comments.
There’s a few more for Clojure and they each have their own learning curves, namely paredit and fireplace. It’ll take you a while to get proficient, but you’ll be very happy when you get there.
- rainbow_parentheses.vim – Makes Clojure’s endless parentheses even more pretty. Colours pairs of parentheses for you, which also works rather well for other languages too!
- paredit.vim – Stops you from unbalancing the parentheses and provides a plethora of bindings for manipulating the file.
- vim-fireplace – Bridges Vim to a REPL process. Can even spin one up for you if you use vim-dispatch!
- vim-clojure-static – Better static highlighting.
- vim-clojure-highlight – More dynamic highlighting that tries to fetch context and more information from fireplace. An extension to static.
There’s a lot more
You have to discover some things for yourself because you probably don’t like everything I do. Saying that, here’s my dotfiles that you can fork, copy, steal or retrofit to fit your needs.