mit-scheme vim slimv:"读取错误:没有为#\ F定义的调度函数"

pvd*_*pvd 3 lisp scheme mit-scheme slimv

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

(define member?
  (lambda (a lat)
    (cond
      ((null? lat) #f)
      (else (or (eq? (car lat) a)
                (member? a (cdr lat))
                ))
      )
    )
  )
Run Code Online (Sandbox Code Playgroud)

然而,当我按下,d,F在vim中运行该功能,有错误

/home/oo/tmp/t.scm:64 read-error:没有为#\ F定义的调度函数

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

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

在此输入图像描述

Tam*_*acs 7

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

我建议您删除任何与Slimv相关的设置.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的作者.