这是一个非常简单的方案函数
(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: no dispatch function defined for #\F
Line: 4, Column: 21, File-Position: 64
Stream: #<SB-SYS:FD-STREAM for "file /home/oo/tmp/t.scm" {AC84DA9}>
最佳答案
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
添加类似的命令来实现:
让 g:slimv_swank_cmd = '! xterm -e scheme --load/your-path-to/slime/contrib/swank-mit-scheme.scm &'
但只有在自动检测失败时才这样做。如果您需要更多帮助,请随时与我联系,我是 Slimv 的作者。
关于lisp - mit 方案 vim slimv : "read-error: no dispatch function defined for #\F",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11320144/