我读了slimv\ftplugin\scheme\slimv-scheme.vim的源代码
if exists( 'g:scheme_builtin_swank' ) && g:scheme_builtin_swank
" MIT Scheme contains a built-in swank server since version 9.1.1
return 'scheme --eval "(let loop () (start-swank) (loop))"'
endif我的系统中没有scheme.exe,只有一个c:\Program Files\MIT-GNU Scheme\bin\mit-scheme.exe
当我试图运行C:\Program Files\MIT-GNU Scheme\bin>mit-scheme.exe --eval "(let loop () (start- swank) (loop))"时,出现了一个错误
---------------------------
MIT/GNU Scheme terminating
---------------------------
scheme: can't find a readable default for option --band.
searched for file all.com in these directories:
c:\local\mit-scheme
Reason for termination:
Inconsistency detected.
---------------------------我尝试在Vim中加载一个.scm并输入以下命令:
:echo SlimvSwankCommand()而自动检测不成功:
发布于 2013-08-03 17:15:13
您需要构建一个命令,在MIT计划中运行swank服务器。让我们假设该方案安装在Windows上的MIT-GNU Scheme目录中。您还需要一个swank服务器为麻省理工学院计划,例如swank-mit-scheme.scm在苗条(取自黏液)。然后从命令提示符启动MIT Scheme,然后以如下方式加载swank服务器:
"C:\Program Files\MIT-GNU Scheme\mit-scheme" --band "C:\Program Files\MIT-GNU Scheme\lib\all.com" --library "C:\Program Files\MIT-GNU Scheme\lib" --load "C:\Program Files\Vim\vimfiles\slime\contrib\swank-mit-scheme.scm"
如果您希望slimv在按,c时为您运行它,那么您需要将上面的命令嵌入到'!start /MIN ...'中,并将其传递给您的_vimrc中的g:slimv_swank_scheme (请记住将包含双引号空间的每个路径括起来):
let g:slimv_swank_scheme='!start /MIN "C:\Program Files\MIT-GNU Scheme\mit-scheme" --band "C:\Program Files\MIT-GNU Scheme\lib\all.com" --library "C:\Program Files\MIT-GNU Scheme\lib" --load "C:\Program Files\Vim\vimfiles\slime\contrib\swank-mit-scheme.scm"'
当然,您也可以使用另一个swank服务器。要点是将完整的路径传递给上面命令中的每个组件。我建议您首先尝试从命令提示符手动运行swank服务器。如果可以的话,你可以把它放到'!start /MIN ...'里。
https://stackoverflow.com/questions/17987621
复制相似问题