He estado usando Lisp de forma intermitente durante un tiempo, pero estoy empezando a ponerme más serio sobre hacer un trabajo "real" en Lisp. Soy un gran fan de Vim y me preguntaba cómo puedo ser más productivo usando Vim como mi editor para el desarrollo de Lisp. Se aceptan complementos, sugerencias de flujo de trabajo, etc.
Por favor, no diga "use emacs" porque ya he mejorado Vim y realmente lo estoy disfrutando como editor.
vim
ide
lisp
common-lisp
Dibujó Olson
fuente
fuente
Respuestas:
Limp pretende ser un IDE Common Lisp con todas las funciones para Vim. Su valor predeterminado es SBCL, pero se puede cambiar para admitir la mayoría de las otras implementaciones reemplazando "sbcl" por su lisp favorito, en el archivo /usr/local/limp/latest/bin/lisp.sh
Cuando se habla de Lisp en estos días, comúnmente se asume que es Common Lisp, el lenguaje estandarizado por ANSI X3J13 (consulte HyperSpec y Practical Common Lisp para un buen libro de texto) con implementaciones como GNU Clisp, SBCL, CMUCL, AllegroCL y muchas más. otros.
De vuelta a Limp. Hay otras soluciones que son más livianas o intentan hacer otras cosas, pero creo en proporcionar un entorno que le brinde cosas como la coincidencia de corchetes, resaltado, búsqueda de documentación, es decir, convertirlo en una solución llave en mano tanto como sea posible .
En el repositorio de Limp encontrará algunos de los trabajos anteriores del proyecto SlimVim, a saber, la interfaz ECL (Embeddable Common Lisp), combinada con versiones posteriores (7.1); Simon también ha puesto a disposición parches para 7.2 que aún no se han fusionado. La interfaz ECL está documentada en if_ecl.txt .
El trabajo a corto plazo es hacer dicha fusión con 7.2 y enviar un parche a vim_dev para fusionarlo en el árbol oficial de Vim.
Lo que nos lleva a los planes a largo plazo: tener Lisp directamente en Vim hará que sea conveniente comenzar a trabajar en un front-end SWANK (la parte de SLIME que se ejecuta en su Lisp, siendo slime.el la parte que se ejecuta en el editor - la interfaz).
Y en algún punto intermedio, es probable que todo Limp se reescriba en Common Lisp utilizando la interfaz ECL, lo que hace que Limp sea más fácil de mantener (VimScript no es mi favorito) y que los usuarios puedan personalizarlo más fácilmente.
El sitio oficial de Limp se cae de vez en cuando, pero como se señaló, la descarga en Vim.org siempre debería funcionar, y los grupos de apoyo limp-devel y limp-user están alojados en Google Groups. No dude en unirse si cree que necesita una respuesta a una pregunta, o incluso si desea participar en el desarrollo. La mayor parte de la discusión tiene lugar en la lista de desarrollo débil. Si te gusta IRC, estoy en #limp en irc.freenode.net como 'tic'.
¡Buena suerte!
fuente
Podrías darle un respiro a slimv .
fuente
Aquí hay un diagrama genial de Xach que resume la situación actual.
fuente
Echa un vistazo al complemento Limp:
http://www.vim.org/scripts/script.php?script_id=2219
fuente
SLIME para EMACS es una herramienta maravillosa para la programación LISP. La mejor parte es enviar código escrito en su editor directamente a una sesión LISP en vivo. Puede obtener un comportamiento similar de Vim usando los consejos aquí:
http://technotales.wordpress.com/2007/10/03/like-slime-for-vim/
Ajusté mi propio script para poder enviarlo a una sesión SBCL o Clojure . Te hace mucho más productivo y aprovecha el REPL.
": set lisp" inicia el modo de sangría lisp para Vim. Pero no funcionará con algunos dialectos como Clojure. Para Clojure, use VimClojure .
A algunas personas también les gusta LIMP .
fuente
Aquí estamos 9 años después, y ahora tenemos Vim 8 y Neovim, ambos brindan la capacidad de interactuar con complementos de forma asincrónica.
vlime es un complemento excelente y rico en funciones que aprovecha la nueva interfaz asíncrona para proporcionar un entorno de desarrollo similar a SLIME para Common Lisp.
fuente
Flujo de trabajo: Ion3 (o algún otro WM en mosaico) con múltiples ventanas de terminal.
fuente
: establecer lisp
Vim tiene un modo para ayudarlo a sangrar su código según los estándares Lisp.
Además, modifico las lispwords para cambiar la forma en que vim sangra mi código.
: setl lw- = if (en ~ / .vim / ftplugin / lisp.vim)
fuente
Puede probar Emacs con la emulación de Vim, no es perfecto, pero puede resultar algo familiar. Creo que Lisp brilla si usas algo como Slime o DrScheme haciendo desarrollo iterativo, todos los demás editores se sienten simplemente mal.
fuente
Sé que dijiste que no te dijera que usaras Emacs.
Utilice Emacs.
En serio, la configuración de SLIME para Emacs es prácticamente la plataforma de desarrollo estándar para Lisp, y por muy buenas razones.
fuente
Parece que ha habido intentos de tener una integración similar a SLIME de Lisp en Vim, pero ninguno ha ido tan lejos como se necesitaba para ser realmente útil. Sin embargo, creo que la integración de ECL se ha realizado, pero no se ha comprometido en sentido ascendente.
Debería encontrar todos los enlaces relevantes de la página de Cliki sobre Vim .
fuente