Using Vim with Common Lisp

The Emacs-based Slime is an excellent IDE for Common Lisp up to the point of inducing people to switch from Vim to Emacs.

Personally I feel that there’s a need for either a full-featured vi written in Common Lisp (no, not GUI-only and written in Python, sorry) or a vi mode for Emacs that is consistent and also full-featured.

Until then you have several possiblities, most of which have been devised pretty recently:

  • Nekthuth uses the Swank/Slime model with a library on the Lisp side and a Python scripted Vim plugin on the editor side. It offers a bunch of good things, but I haven’t tried it, yet.
  • Limp seems to be the current star among Vim/Lisp bridges, with an active community. I’m going to try this soon.
  • Like Slime for Vim is a solution that relies almost solely on GNU Screen. No Hyperspec lookup or function completion without additional work, though.
  • Use some additional hints for a comfortable setup.

These approaches have varying implementation support. You’re always fine with SBCL, but Nekthuth, for example, doesn’t support other implementations.

I’m currently using the plain rlwrap approach but I might take advantage of some other approach soon.

Comments

  1. September 30th, 2008 | 6:02 pm

    Hey Leslie,

    We’re currently aiming towards an ECL patch to be integrated into Vim HEAD. It could always use a few more eyes, so if you feel like it, feel free to join in. There’s a recent message on limp-devel on the matter (at http://groups.google.com/group/limp-devel).

    With Common Lisp in Vim, making a /real/ SWANK front-end will be much easier — compare with Nekthuth that uses Python to talk to the Lisp. Limp uses Vimscript. We’d all be much better off it we had turtles all the way down!

    Cheers!

  2. October 1st, 2008 | 9:42 am

    Seems like a Vim with CL as scripting language isn’t as much a pipe dream as I thought.

    Thanks for that pointer, Mikael! :)

Leave a reply