Ich benutze MacVim (Art von gvim für OSX) und versuche, das slimv Plugin zu bekommen. Leider funktioniert es nicht aus der Box. Tatsächlich fängt es überhaupt nicht an.MacVim: Slimv startet nicht
Mein Setup:
- MacVim (32bit cause of this) (vim 7,3)
- : script nicht
ftplugin/slimv.vim
auflistet, währendplugin/paredit.vim
- aufgeführt ist: set ft? zeigt
filetype=lisp
für .lisp Dateien - : Nachrichten zeigt keine Fehler
- : filetype
filetype detection:ON plugin:ON indent:ON
- : echo g: paredit_loaded
1
- : echo g: slimv_loaded
E121: Undefined variable: g:slimv_loaded \ E15: Invalid expression: g:slimv_loaded
- kompiliert mit + python (2.7)
SBCL und Schleim sind installiert - funktioniert einwandfrei mit Emacs. Ich versuchte es mit und ohne let g:slimv_swank_cmd = ...
in .vimrc und änderte die auf der Plugin-Seite empfohlen Linie von
let g:slimv_swank_cmd = '!osascript -e "tell application \"Terminal\" to do script \"sbcl --load ~/.vim/slime/start-swank.lisp\""'
zu
let g:slimv_swank_cmd = '!sh -c "sbcl --load /Applications/MacVim.app/Contents/Resources/vim/runtime/slime/start-swank.lisp" &'
da die osascript nicht funktioniert und ich weiß nicht, wie man repariere es. Aber ein ähnlicher Aufruf an xterm ist ausreichend für Linux, so dass mein sh-Anruf in Ordnung sein sollte. Nun, ich habe keine Ahnung, was ich als nächstes versuchen soll. :
Das Problem wurde gelöst durch die Installation von slimv zu ~/.vim anstelle der vim in MacVim eingebettet. Vielleicht eine Art Käfer? Common Lisp + vim - ich liebe es einfach.
Wenn ich mich richtig erinnere, wenn ich Slimv eingerichtet habe, kann VIM nicht der Elternprozess des minderwertigen LISP sein. Emacs hat ein Konzept von Kind-Prozessen, aber VIM nicht. Sie müssen also die Instanz von LISP von woanders aus starten. Deshalb hat der Standard einen 'osascript' Befehl - der ein neues Terminal-Fenster öffnet, das die LISP-Sitzung besitzt. –
Die Verwendung des Standardbefehls öffnet kein Terminal (nichts passiert) und selbst das Starten des Prozesses von Hand hilft nicht. – Julian
In meiner '.vimrc' Datei habe ich' g: slimv_swank_cmd = "! Osaskript -e 'der Anwendung \" Terminal \ "mitteilen, Skript zu machen \"/sw/opt/sbcl-1.0.47/bin/sbcl - load ~/.vim/slime/start-swank.lisp \ "'" '- Sie müssen Terminal anweisen, das Skript zu starten, nicht MacVIM wie Ihre erste Zeile zeigt. Versuchen Sie alternativ, den Befehl 'sbcl --load .../start-swank.lisp' zuerst in einem Terminal-Fenster auszuführen und dann slimv zu starten. Es sollte in der Lage sein, eine Verbindung zu einer bereits laufenden Instanz herzustellen, anstatt eine eigene Instanz zu starten. –