Ich benutze Lisp schon eine Weile ein- und ausgeschaltet, aber ich fange an, mich ernsthaft mit "echten" Arbeiten in Lisp zu beschäftigen. Ich bin ein großer Vim-Fan und habe mich gefragt, wie ich mit Vim als Editor für die Lisp-Entwicklung am produktivsten sein kann. Plugins, Workflow-Vorschläge usw. sind willkommen.
Bitte sagen Sie nicht "benutze Emacs", da ich bereits auf Vim hochgefahren bin und es als Editor wirklich genieße.
vim
ide
lisp
common-lisp
Drew Olson
quelle
quelle
Antworten:
Limp soll eine voll funktionsfähige Common Lisp IDE für Vim sein. Der Standardwert ist SBCL, kann jedoch geändert werden, um die meisten anderen Implementierungen zu unterstützen, indem "sbcl" für Ihr Lieblings-Lisp in der Datei /usr/local/limp/latest/bin/lisp.sh ersetzt wird
Wenn heutzutage über Lisp gesprochen wird, wird allgemein angenommen, dass es sich um Common Lisp handelt, die von ANSI X3J13 standardisierte Sprache (siehe HyperSpec und Practical Common Lisp für ein gutes Lehrbuch) mit Implementierungen wie GNU Clisp, SBCL, CMUCL, AllegroCL und vielen anderen Andere.
Zurück zum Hinken. Es gibt andere Lösungen, die leichter sind oder versuchen, andere Dinge zu tun, aber ich glaube daran, eine Umgebung bereitzustellen, die Ihnen Dinge wie Klammerabgleich, Hervorhebung, Dokumentationssuche bietet, dh sie so weit wie möglich zu einer schlüsselfertigen Lösung macht .
Im Limp-Repository finden Sie einige der früheren Arbeiten des SlimVim-Projekts, nämlich die ECL-Schnittstelle (Embeddable Common Lisp), die mit späteren Versionen (7.1) zusammengeführt wurde. Simon hat auch Patches für 7.2 verfügbar gemacht, die noch zusammengeführt werden müssen. Die ECL-Schnittstelle ist in if_ecl.txt dokumentiert .
Kurzfristige Arbeit besteht darin, die Zusammenführung mit 7.2 durchzuführen und einen Patch an vim_dev zu senden, um ihn in den offiziellen Vim-Baum einzufügen.
Was uns zu den langfristigen Plänen führt: Wenn Sie Lisp direkt in Vim haben, können Sie bequem mit der Arbeit an einem SWANK-Frontend beginnen (dem Teil von SLIME, der in Ihrem Lisp ausgeführt wird, wobei slime.el der Teil ist, der im Lisp ausgeführt wird Editor - das Frontend).
Und irgendwo dazwischen ist es wahrscheinlich, dass Limp über die ECL-Oberfläche in Common Lisp neu geschrieben wird, wodurch Limp einfacher zu warten ist (VimScript ist nicht mein Favorit) und für Benutzer einfacher anzupassen ist.
Die offizielle Limp-Site fällt von Zeit zu Zeit aus, aber wie bereits erwähnt, sollte der Download auf Vim.org immer funktionieren, und die Support-Gruppen limp-devel und limp-user werden bei Google Groups gehostet. Zögern Sie nicht, mitzumachen, wenn Sie der Meinung sind, dass eine Frage beantwortet werden muss oder Sie vielleicht sogar an der Entwicklung teilnehmen möchten. Der größte Teil der Diskussion findet auf der Limp-Devel-Liste statt. Wenn Sie sich für IRC interessieren, bin ich in #limp auf irc.freenode.net als 'tic'.
Viel Glück!
quelle
Sie könnten slimv eine Pause geben.
quelle
Hier ist ein cooles Diagramm von Xach , das die aktuelle Situation zusammenfasst.
quelle
Schauen Sie sich das Limp-Plug-In an:
http://www.vim.org/scripts/script.php?script_id=2219
quelle
SLIME for EMACS ist ein wunderbares Tool für die LISP-Programmierung. Der beste Teil ist das Senden von in Ihrem Editor geschriebenem Code direkt an eine Live-LISP-Sitzung. Mit den folgenden Tipps können Sie ein ähnliches Verhalten von Vim erzielen:
http://technotales.wordpress.com/2007/10/03/like-slime-for-vim/
Ich habe mein eigenes Skript so angepasst, dass ich es entweder an eine SBCL- oder eine Clojure- Sitzung senden kann . Es macht Sie viel produktiver und nutzt die REPL.
": set lisp" startet den Lisp-Einrückungsmodus für Vim. Bei einigen Dialekten wie Clojure funktioniert dies jedoch nicht. Verwenden Sie für Clojure VimClojure .
Einige Leute mögen auch LIMP .
quelle
Workflow: Ion3 (oder ein anderes gekacheltes WM) mit mehreren Terminalfenstern.
quelle
Hier sind wir 9 Jahre später und jetzt haben wir Vim 8 und Neovim, die beide die Möglichkeit bieten, asynchron mit Plugins zu interagieren.
vlime ist ein exzellentes Plugin mit vielen Funktionen, das die neue asynchrone Oberfläche nutzt, um eine SLIME-ähnliche Entwicklungsumgebung für Common Lisp bereitzustellen.
quelle
: lisp setzen
Vim verfügt über einen Modus, mit dem Sie Ihren Code nach Lisp-Standards einrücken können.
Außerdem ändere ich die Lispwords, um zu ändern, wie vim meinen Code einrückt.
: setl lw- = if (in ~ / .vim / ftplugin / lisp.vim)
quelle
Sie können Emacs mit Vim-Emulation ausprobieren, ist nicht perfekt, aber es kann etwas vertraut sein. Ich denke, Lisp glänzt, wenn Sie etwas wie Slime oder DrScheme für die iterative Entwicklung verwenden, fühlen sich alle anderen Editoren einfach falsch.
quelle
Ich weiß, dass Sie gesagt haben, Sie sollen Emacs nicht verwenden.
Verwenden Sie Emacs.
Im Ernst, das SLIME- Setup für Emacs ist so ziemlich die Standard-Entwicklungsplattform für Lisp, und das aus gutem Grund.
quelle
Es scheint Versuche gegeben zu haben, eine SLIME-ähnliche Integration von Lisp in Vim zu erreichen, aber keine ist wirklich so weit gegangen, wie es wirklich nötig war. Ich denke, die Integration von ECL wurde zwar durchgeführt, aber nicht vorgelagert.
Sie sollten alle relevanten Links von Clikis Seite über Vim finden .
quelle