当前位置: 首页 > 工具软件 > slimv > 使用案例 >

vim+slimv+sbcl搭建lisp的IDE

毛正浩
2023-12-01

流水账而已,分享给需要的人.

slimv的首页

http://kovisoft.bitbucket.org/tutorial.html
里面介绍说slimv开箱即可用,可是老天总会给一些奇怪的问题给你,因为是vim新手,对教程给出的windows配置没有太在意,直接拷贝,修改了路径,但是发现vim无论如何都不能连接到SWANK,每次就是弹出个SBCL的交互环境.

于是仔细看了windows配置的命令行,是给ccl用的,而我这里是想用sbcl(因为这个支援更多),当看到"-l"参数时,猜测应该是load,于是乎去sbcl.org看了下手册,发现sbcl的load在命令行上应该是--load,并且sbcl加载的lisp文件中的路劲,"\"是需要转义的.也就是说例子中的ccl命令行加载lisp文件路径是在windows中解析的,而sbcl是把整个路径放到sbcl的load中去解析的.

--load filename

    This is equivalent to --eval '(load "filename")'. The special syntax is intended to reduce quoting headaches when invoking SBCL from shell scripts.

 

所以我就把例子中的

let g:slimv_swank_cmd = '!start "c:\Program Files\Lisp Cabinet\bin\ccl\wx86cl.exe" 
    \ -l "c:\Program Files\Lisp Cabinet\site\lisp\slime\start-swank.lisp" '

改成了

let g:slimv_swank_cmd = '!start "c:\Program Files\Lisp Cabinet\bin\sbcl\sbcl.exe" 
    \ --load "c:\\Program Files\\Lisp Cabinet\\site\\lisp\\slime\\start-swank.lisp" '

这样就都正常运作了.

记得要打开如下选项,这样你就可以从容而优美的利用"括号"了,就像这里一样.

let g:paredit_electric_return=1

 

这其中还有个重点,跑slimv是需要内嵌python的,其实gvim是内嵌了python支持的,不过gvim是32位的应用,要记得把64位的python换成32位的.或者装一个不同的大版本,比如你工作用的是python2.7 for 64,那就安装一个python3.2 for 32(注:gvim7.4中只支持2.7和3.2.具体的直接在gvim中调用python print "hello"或者python3 print("hello")来看报错的动态库版本号就行)

转载于:https://www.cnblogs.com/adolph-suyu/p/3651753.html

 类似资料: