The last time I wrote about using Vim to write Clojure, I had just started using it professionally. Now I’m at my second Clojure job and I am still enjoying the its power, combined with the speed of Vim. However, in contrast to the last update, which was incremental to my first post, quite a few things about my setup have changed in the past few years.
Developing Clojure in Vim (2018 edition)
When I wrote about developing Clojure in Vim for the first time, I was still early in my journey. For years, I’d only been able to tinker with Clojure in my free time and I was never able to really use it for anything large. Well, now I’m 5 or so months into using it full time and I’m really enjoying the development experience. So I thought I’d update my previous post with what my Vim configuration looks like now.
Obsessing over multiple projects
In my new job, I’ve switched each project being a unique combination of git repositories1 to all projects being in just a few repositories.
For instance, my primary codebase consists of two repositories, one for the frontend and one for the backend. As time progresses, I work on multiple (mostly) independent projects in each repo, each one on its own branch. Each project requires a different constellation of files, sometimes organized in radically different ways in my Vim tabs.
Setting up Vim for Clojure
I’ve been experimenting with Clojure lately. A few of my coworkers had begun the discovery process as well, so I suggested that we have a weekly show-and-tell, because a little accountability and audience can turn wishes into action.
Naturally, I looked around for plug-ins that would be of use in my editor of choice. Here’s what I have installed:
vim-clojure-static - Syntax highlighting and indentation vim-fireplace - Slick repl integration and hot code reload rainbow_parentheses.