这是一个非常简单的方案功能
(define member?
(lambda (a lat)
(cond
((null? lat) #f)
(else (or (eq? (car lat) a)
(member? a (cdr lat))
))
)
)
)
然而,当我在vim中按,d 或,F 来运行此功能时,出现错误
/home/oo/tmp/t.scm:64 read-error:没有为其定义调度函数 #\˚F
行:4,列:21,文件位置:64
Stream:#< SB-SYS:FD-STREAM for“file /home/oo/tmp/t.scm”{AC84DA9}>
答案 0 :(得分:7)
Chris已经指出你试图将Scheme代码与Common Lisp swank服务器一起使用。
您需要运行Scheme swank服务器(例如swank-mit-scheme.scm
,也包含在Slimv中)。
通常,Slimv应该在Linux上自动检测MIT方案而不需要在.vimrc
中进行任何调整。要使自动检测正常工作,您需要安装MIT Scheme并且scheme
命令可用。
我建议您从.vimrc
删除任何与Slimv相关的设置。然后在Vim中加载.scm并输入以下命令:
:echo SlimvSwankCommand()
如果自动检测Scheme,则应该打印运行Scheme swank服务器的命令(在输出中搜索swank-mit-scheme.scm
)。如果自动检测失败,则表示您没有scheme
命令或Slimv未找到swank-mit-scheme.scm
。在这种情况下,您需要告诉Slimv运行Scheme swank服务器的命令。您可以通过向.vimrc
添加类似命令来执行此操作:
let g:slimv_swank_cmd = '! xterm -e scheme --load /your-path-to/slime/contrib/swank-mit-scheme.scm &'
但只有在自动检测失败时才这样做。如果您需要更多帮助,请随时与我联系,我是Slimv的作者。