3

这是一个非常简单的方案功能

(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 读取错误:没有为 #\F 定义调度函数

行:4,列:21,文件位置:64

流:#<SB-SYS:FD-STREAM for "file /home/oo/tmp/t.scm" {AC84DA9}>

在此处输入图像描述

4

1 回答 1

7

Chris 已经指出您尝试将 Scheme 代码与 Common Lisp swank 服务器一起使用。您需要运行一个 Scheme swank 服务器(例如swank-mit-scheme.scm,也包含在 Slimv 中)。通常 Slimv 应该在 Linux 上自动检测 MIT 方案,而无需在.vimrc. 要使自动检测正常工作,您需要安装 MIT 方案并且该scheme命令可用。

我建议您从您的.vimrc. 然后在 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 的作者。

于 2012-07-04T09:29:34.847 回答