Using Vim to Develop Lisp

I use Lisp incl. and off, but I'm starting to take seriously the “real” work in Lisp. I am a huge fan of Vim and wondered how I can be most productive using Vim as my editor for developing Lisp. Plugins, workflow suggestions, etc. Welcome.

Please do not say “use emacs” as I have already increased Vim and I really like this as an editor.

+80
vim lisp ide common-lisp
Sep 18 '08 at 17:40
source share
11 answers

Limp aims to be a fully functional shared Lisp IDE for Vim. It is used by default for SBCL, but can be changed to support most other implementations by replacing "sbcl" for your favorite lisp in the file / usr / local / limp / latest / bin / lisp.sh

When discussing Lisp these days, it is common to consider Common lisp, a language standardized by ANSI X3J13 (see HyperSpec and Practical General Lisp for a good tutorial) with realities like GNU Clisp, SBCL, CMUCL, AllegroCL and many others.

Return to Limp. There are other solutions that are easier or try to do other things, but I believe in creating an environment that gives you things like matching with highlighting, highlighting, searching for documentation, that is turning it into a “turnkey” as much as possible .

In the Limp repository you will find some of the previous works of the SlimVim project, namely the ECL (Embeddable Common Lisp) interface, combined with later versions (7.1); Simon also made patches of up to 7.2 available for merging. The ECL interface is documented in if_ecl.txt .

The short-term work is to do this merge with 7.2 and submit the patch for vim_dev so that it is merged with the official Vim tree.

Which leads us to long-term plans: the presence of Lisp directly in Vim will simplify the work with the SWANK interface (the SLIME part that works in your lisp, with slime.el, the part that runs in the editor is the interface).

And somewhere in the middle, it is likely that all Limp will be rewritten in Common Lisp using the ECL interface, which will simplify Limp support (VimScript is not my favorite) and is easier for users to configure.

The official Limp download site at Vim.org should always work, and the limp-devel and limp-user support groups are hosted on Google groups. Feel free to join if you feel that you need an answer to a question or maybe even want to join the development. Most discussions take place on the limp-devel list. If you are on IRC, I am in #limp on irc.freenode.net as "tic".

Good luck

+49
Sep 19 '08 at 11:28
source share

You can give slimv a break.

+25
Jan 12 '10 at 12:00
source share

Here is a cool Xach chart that summarizes the current situation.

diagram explaining that there are nearly no VIM users that are also Lisp programmers and can also hack it to make it a good Lisp IDE ... lousy alt text :)

+18
Sep 18 '08 at 18:40
source share

SLIME for EMACS is a great LISP programming tool. The best part is to send the code written in your editor directly to the live LISP session. You can get similar behavior from Vim using the tips here:

http://technotales.wordpress.com/2007/10/03/like-slime-for-vim/

I adjusted my own script so that I could send either an SBCL or Clojure session. This makes you much more productive and uses REPL.

": set lisp" starts the LISP indent mode for Vim. But it will not work with some dialects like Clojure. For Clojure, use VimClojure .

Some people, like LIMP .

+8
Sep 18 '08 at 18:09
source share
+7
Sep 18 '08 at 17:43
source share

: install lisp

Vim has a mode to help you format your code according to the Lisp standard.

In addition, I modify lispwords to change how vim backtracks from my code.

: setl lw- = if (in ~ / .vim / ftplugin / lisp.vim)

+5
Sep 18 '08 at 18:00
source share
  • Vim add-ons: rainbow parentheses, Lisp syntax
  • SBCL add-ons: rlwrap, sb-aclrepl
  • Workflow: Ion3 (or some other tiled WM) with multiple terminal windows.

    • Change Lisp to Vim
    • Switch to the Lisp window (using the keyboard, of course)
    • Use Cr to invoke the string to reboot the ASDF system, so your changes are activated.
    • Use the X Window to copy / paste for small snippets / changes.
    • Use DESCRIBE, TRACE, and APROPOS.
    • Repeat
+5
Feb 17 '09 at 10:31
source share

You can give Emacs with Vim emulation a try, not perfect, but it may be somewhat familiar. I think Lisp is shining if you use something like Slime or DrScheme doing iterative development, all the other editors are just wrong.

+3
Sep 18 '08 at 17:45
source share

It seems like there have been attempts to get a SLIME-like integration of Lisp in Vim, but none of them did as much as needed to be really useful. I think that ECL integration was completed, but not upstream.

You should find all relevant links from the Vim Cliki Page .

+2
Sep 19 '08 at 10:23
source share

Here we are 9 years later, and now we have Vim 8 and Neovim, both provide the ability to interact with plugins asynchronously.

vlime is a great, feature-rich plugin that uses a new asynchronous interface to provide an environment similar to SLIME for Common Lisp.

+2
Jul 17 '17 at 2:51 on
source share

I know that you said you didn’t say that you used Emacs.

Use Emacs.

Seriously, installing SLIME for Emacs is pretty much the standard development platform for Lisp and for a very good reason.

0
Sep 18 '08 at 18:05
source share



All Articles