I saw he mentioned switching to Emacs. Is the emacs - clojure workflow really as good as it's made out to be, as in good enough to both switching from Vim? I was planning on getting into Clojure this weekend, and if it's actually worth doing I suppose I could learn Emacs at the same time, but I've always been turned off by the weird key chords.
The last time I used it, SLIME integration for Clojure was very slick. It was a while back so there were a fair number of moving parts to align, but I'd guess that has gotten better.
It is worth doing, especially if you've never used another integrated Lisp environment, but I wouldn't recommend laying it on top of learning Clojure. I'd say learn Clojure first, then try out emacs and the emacs integration.
Slime and Clojure have improved, mainly through clojure-jack-in and ritz. Of course the Common Lisp Slime experience is still better but the essentials are definitely there with Clojure.
There are several heavyweights in the Clojure community that use VIM and have developed good plugins, and Rich never seems to be using SLIME during presentations, so you can definitely get by fine without it.
I agree. Emacs is a power tool for writing Clojure. I learned Clojure first with tools I knew, then learned Emacs later. For me, that was a much better way to deal with the cognitive load.
I find emacs + swank to be roughly equivalent to vim + vimclojure + paredit.vim. Install vimclojure and the lein-nailgun leiningen plugin and you'll be up and running in no time.
Yes it can be really good. You can have compilation on the fly, integrated REPL, completion, some debugging facilities, edition of s-expression at the structural level etc.
I'm also a big Vim guy and recently spent a few late nights hacking on some Clojure stuff. I tried to learn both Emacs and Clojure and eventually had to give up and just use Vim until I was more comfortable in Clojure.
At minimum, you need a easy way to paste top-level forms into a repl. This is the simplest way for Vim: http://www.vim.org/scripts/script.php?script_id=3023 That script is actually crazy useful & I now use it for a whole bunch of different use cases.
That said, the Emacs->Slime<->Swank<-Clojure bridge is really much better & think that I'm going to invest some more effort into becoming proficient at Emacs. My limited experiments with Slime were very positive & nothing in the Vim world even comes close. I tried all the various attempts in their current form as of two weeks ago. Most are hard to get running, don't work exactly right, struggle with subprocesses management, etc. And you're totally on your own with those, no warrantee and no maturity.
Yup, tried that one. Had a hell of a time getting it to work. Once it did work, it just didn't feel right. I realize that's very subjective, but it matters.
A well-tuned Emacs/Clojure environment can be very very smooth. Mine is not particularly well-tuned - I tend to get tired of tool config'ing and just put up with stuff so I can get work done. :)
While Aquamacs is a viable choice, from what I understand Aquamacs is not fully compatible with the Gnu Emacs settings and I was advised by people I trust that Emacs.app was a safer bet. I tried Aquamacs anyways but can't say I liked it very much. Emacs.app with @technomancy's Emacs starter kit made things pretty easy.
I also tried Emacs.app and Aquamacs. Aquamac's behavior was totally odd & didn't match any of the documentation. I found the Cocca Emacs.app to be much easier to set up and get running. That said, neither of them feel as good as MacVim, as far as native Mac apps go.
The one that drives me really crazy is that on Lion, both Emacs freak out if you try to resize from from anywhere except the bottom right corner. Similar issues with the green (+) button; full screen mode, etc.
Also, since you'll probably remap cmd to meta, you lose some system shortcuts which can be convenient when switching back and forth between various apps and your brain can't keep all the shortcuts straight.