À l'aide de Vim pour Lisp développement
J'ai été en utilisant Lisp sur et en dehors pendant un moment, mais je commence à devenir plus sérieux au sujet de faire quelques "vrai" travail en Lisp. Je suis un grand Vim fan et je me demandais comment je peux être plus productif à l'aide de Vim que mon éditeur pour Lisp développement. Plugins, flux de travail, suggestions, etc. sont tous les bienvenus.
S'il vous plaît ne pas dire "utiliser emacs" comme je l'ai déjà monté sur Vim et je suis vraiment en profiter en tant que rédacteur.
- Qui Lisp, Common Lisp?
- Dans ce cas, oui, Common Lisp. Je fais un peu pensé autour dans le Schéma, mais c'est plus pour le casual exploratoire de programmation.
Vous devez vous connecter pour publier un commentaire.
Mou vise à être un complet Common Lisp IDE pour Vim. La valeur par défaut est SBCL, mais peut être modifié pour prendre en charge la plupart des autres implémentations par le remplacement de "sbcl" pour votre favori lisp, dans le fichier /usr/local/limp/latest/bin/lisp.sh
Lors de la discussion de Lisp ces jours, il est communément supposé être Common Lisp, le langage normalisé par l'ANSI X3J13 (voir l'HyperSpec, et Pratique Common Lisp pour un bon manuel) avec les implémentations comme GNU Clisp, SBCL, CMUCL, AllegroCL, et beaucoup d'autres.
Retour à Boiter. Il y a d'autres solutions qui sont plus légers, ou essayer de faire d'autres choses, mais je crois en leur fournissant un environnement qui vous donne des choses comme support correspondant, en mettant en évidence, de la documentation, de recherche, c'est à dire en faire une solution clé en main autant que possible.
Dans le Boiter référentiel vous trouverez certains des travaux antérieurs de la SlimVim projet, à savoir l'ECL (Intégrable Common Lisp interface, fusionné avec les versions ultérieures (7.1); Simon a également apporté des correctifs à 7,2 encore disponible pour être fusionnées. La LISTE de l'interface est décrite dans if_ecl.txt.
De travail à court terme est de faire dit la fusion avec la 7.2 et soumettre un patch pour vim_dev pour l'obtenir fusionné dans l'officiel Vim arbre.
Ce qui nous amène à des plans à long terme: avoir Lisp directement dans Vim va rendre plus pratique pour commencer à travailler sur un SWANK avant la fin de la partie de la vase qui s'exécute dans votre Lisp, avec la boue.el étant la partie qui s'exécute dans l'éditeur - l'interface).
Et quelque part entre les deux, il est probable que l'ensemble des Boites sera réécrit en Common Lisp à l'aide de la LISTE de l'interface, en faisant Boiter plus facile à maintenir (VimScript n'est pas mon préféré), et être plus facile pour les utilisateurs à personnaliser.
La officiel Limp site descend de temps en temps, mais comme l'a souligné, la télécharger au Vim.org devrait toujours fonctionner, et les groupes de soutien limp-devel et limp-utilisateur sont hébergés avec Google Groupes. N'hésitez pas à participer si vous sentez que vous avez besoin d'une question répondu, ou peut-être même envie de participer sur le développement. La plupart de la discussion a lieu sur le limp-devel liste. Si vous êtes dans l'IRC, je suis dans #boiter sur irc.freenode.net comme "tic".
Bonne chance!
Vous pourriez donner slimv une pause.
Voici un endroit frais diagramme par Xach qui résume la situation actuelle.
SLIME pour EMACS est un merveilleux outil de programmation LISP. La meilleure partie est l'envoi de code écrit dans votre éditeur de droite pour un live LISP session. Vous pouvez obtenir un comportement similaire de Vim à l'aide des conseils ici:
http://technotales.wordpress.com/2007/10/03/like-slime-for-vim/
J'ai ajusté mon propre script, de sorte que je peux envoyer à un SBCL ou Clojure session. Il vous rend plus productif et prend avantage de la REPL.
":set lisp" commence le lisp indentation mode pour Vim. Mais il ne fonctionne pas avec certains dialectes comme Clojure. Pour Clojure, utilisez VimClojure.
Certaines personnes aiment MOU aussi.
Découvrez le Boiter plug-in:
http://www.vim.org/scripts/script.php?script_id=2219
:jeu de lisp
Vim dispose d'un mode pour vous aider à indenter votre code en Lisp normes.
Aussi, j'ai modifier le lispwords de changer la façon dont vim tirets mon code.
:setl lw-=si (dans ~/.vim/ftplugin/lisp.vim)
Flux de travail: Ion3 (ou une autre mosaïque WM), avec de multiples terminaux windows.
Vous pouvez donner Emacs et Vim émulation d'essayer, n'est pas parfait, mais il peut être un peu familier. Je pense que Lisp brille si vous utilisez quelque chose comme de la boue ou DrScheme faire itératif de développement, tous les autres éditeurs se sentent tout simplement faux.
Nous voici 9 ans plus tard, et maintenant nous avons Vim 8 et Neovim, les deux offrant la possibilité d'interagir avec des plugins de manière asynchrone.
vlime est un excellent, riche en fonctionnalités plugin qui tire parti de la nouvelle interface asynchrone à fournir un SLIME-comme environnement de dev pour Common Lisp.
Je sais que vous avez dit de ne pas dire que vous utilisez Emacs.
Utilisation D'Emacs.
Grave, le SLIME d'installation pour Emacs est assez bien la standard de la plate-forme de développement pour Lisp, et pour une très bonne raison.
Il semble y avoir eu des tentatives visant à avoir un SLIME-comme l'intégration de Lisp dans Vim, mais aucun n'a vraiment allés aussi loin que nécessaire pour être vraiment utile. Je pense que la LISTE de l'intégration qui a été fait, si, mais pas engagée en amont.
Vous devriez trouver tous les liens de Cliki de la page sur Vim.