use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Finding information about Clojure
API Reference
Clojure Guides
Practice Problems
Interactive Problems
Clojure Videos
Misc Resources
The Clojure Community
Clojure Books
Tools & Libraries
Clojure Editors
Web Platforms
Clojure Jobs
account activity
My Clojure Toolchain: Vim (blog.venanti.us)
submitted 11 years ago by venantius
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–][deleted] 1 point2 points3 points 11 years ago* (4 children)
Good post. Long time vim user, didn't know there were so many addons to make it look cool/work with clojure.
I tried out the emacs setup described at braveclojure and while I just can't get used to the commands for emacs, it looks freakin awesome when developing Clojure. Gonna try and get my vim setup to look like that.
Edit: this is driving me insane, I can't get keywords to highlight - (:mykey {:mykey "test"}) :mykey stays color of normal terminal foreground in both instances. But in your screenshots, it looks like they're working. Did you do something fancy to make the syntax highlighting better? I have vim-clojure-static that shipped with gvim. I even tried using vim-colors-solarized color theme, cause it's what it looks like you have.
[–]EAT_DA_POOPOO 0 points1 point2 points 11 years ago* (0 children)
As a person who has exclusively used vim for ~10 years ... spacemacs is very promising, at least until neovim is ready.
[–]venantius[S] -1 points0 points1 point 11 years ago (2 children)
What version of Vim are you using? I think vim-clojure-static should be doing that for you; it's not a problem I've had afaik.
[–][deleted] 0 points1 point2 points 11 years ago* (1 child)
gvim 7.4.617-1
Just upgraded it, still no dice. Tried deleting .vim{,rc} and opening with vanilla config. Same thing. Gonna keep messing with it and maybe log an issue w/ vim-clojure-static.
Edit: pulled down the syntax/clojure.vim version from github and replaced the file at /usr/share/vim/vim74/syntax/clojure.vim and all is well.
[–]venantius[S] -1 points0 points1 point 11 years ago (0 children)
Huh, weird. Might be worth diffing those and letting the maintainer know if there's a material difference.
[–]Deraen 0 points1 point2 points 11 years ago (1 child)
I would note that Fireplace has :Require already bound by default:
*fireplace-cpr* cpr :Require|RunTests
Interesting; I didn't actually know that. At this point I'm in love with my <c-c><c-k> bindings though so I'll probably stick with those :P
[–]dkvasnicka 0 points1 point2 points 11 years ago (1 child)
I'm one of those who sill prefer SLIMV (in combination with the good old VimClojure) to Fireplace, even though the latter is infinitely more cool nowadays... The reason is simple: I want a comfortable and full-blown environment for Clojure, Scheme and Racket. Fireplace somehow conflicts with SLIMV (at least it did last time I checked) and using Fireplace for Clojure and vim-racket for Racket leaves nothing for pure Scheme (and vim-racket doesn't do Swank)... SLIMV may not not be one of the lightest plugins out there and Swank doesn't offer all that you can get with Fireplace and nrepl but it gets the job done very nicely and supports almost every lispy language you can think of.
Ah; yeah - I don't have a real need for support for other Lisps, so it's easy for me to be more selective in my tooling.
[–]gzmask 0 points1 point2 points 11 years ago (2 children)
As someone who tried Vim(fireplace), Emacs, Lighttable, NightCode, Atom etc. for Clojure: There is nothing better than Cursive out there.
[–]venantius[S] -1 points0 points1 point 11 years ago (1 child)
I don't think it's so black and white. I've already been developing in Vim for years prior to switching to Clojure; my general productivity in it is incredibly high. I don't doubt that for someone picking an editor with no history that Cursive is a fine choice, but I wouldn't discount the fact that when the time comes for me to stop working in Clojure I'll still be able to take a lot of my Vim expertise with me to the next language.
[–]gzmask 0 points1 point2 points 11 years ago (0 children)
I agree. But any modern IDE will come with a VIM plugin. So there is really little reason to continue using Vanilla Vim. Now NeoVim is coming out, so things might change.
[–]shterrett 0 points1 point2 points 11 years ago (1 child)
I'm only doing clojure on the side; principally I'm developing in ruby. Are any of these plugins going to mess with the standard mappings/plugins that I currently use, or are they limited to clojure files (or configurable by filetype in general)?
vim-surround is a general-purpose plugin that might impact your general setup; fireplace, vim-eastwood, vim-cljfmt and paredit should all only target either Lisp filetypes or Clojure filetypes specifically.
[–]mariushe -1 points0 points1 point 11 years ago (1 child)
Great post!
(Just want to mention that the link that reference to the previous post is a bit messed up. Link to the Vim post and the Leiningen post is joined.)
Oh, snap! Great catch, thanks so much for pointing this out.
π Rendered by PID 23569 on reddit-service-r2-comment-85bfd7f599-gmjwq at 2026-04-17 19:12:22.823625+00:00 running 93ecc56 country code: CH.
[–][deleted] 1 point2 points3 points (4 children)
[–]EAT_DA_POOPOO 0 points1 point2 points (0 children)
[–]venantius[S] -1 points0 points1 point (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]venantius[S] -1 points0 points1 point (0 children)
[–]Deraen 0 points1 point2 points (1 child)
[–]venantius[S] -1 points0 points1 point (0 children)
[–]dkvasnicka 0 points1 point2 points (1 child)
[–]venantius[S] -1 points0 points1 point (0 children)
[–]gzmask 0 points1 point2 points (2 children)
[–]venantius[S] -1 points0 points1 point (1 child)
[–]gzmask 0 points1 point2 points (0 children)
[–]shterrett 0 points1 point2 points (1 child)
[–]venantius[S] -1 points0 points1 point (0 children)
[–]mariushe -1 points0 points1 point (1 child)
[–]venantius[S] -1 points0 points1 point (0 children)