tpope/vim-fireplace — pull request #69 by ctford (2013-04-21 11:05:15+00:00)
Title: Add macro expansion

Bind [me to full macro expansion of the form under the cursor (using
clojure.core/macroexpand), and bind ]me to a partial macro expansion
of the form under the cursor (using clojure.core/macroexpand-1).

When exploring Clojure code I find it very useful to see what macros
are doing prior to evaluation. For example, it's much easier to understand
defn once you expand it and see it's really using def to bind a name to
an anonymous fn.

The use of an arbitrary register to hold the selected form is probably
not the cleanest way to do it, but this is my first foray into vimscript
so I couldn't see another way.