-1

我正在尝试将 Steel Bank Common Lisp 与 GVim 一起使用。

我将Steel Bank Common Lisp (AMD64) 安装到“C:\Program Files\Steel Bank Common Lisp”中。我将 SLIMV 解压缩到 'C:\vimfiles' 我安装了Python3并将它放在 Windows PATH 中。我安装了 Python 2.7 并将其放在 Windows PATH 中。我安装了 64 位 GVim,终于让 Python 被识别了。我在 Vim 中运行 ':helptags C:/vimfiles/doc' 为 SLIMV 生成帮助标签

我在 Vim 窗口顶部有一个“Slimv”菜单,但没有 Repl 菜单。g:slimv_lisp = sbcl g:slimv_impl = sbcl g:slimv_preferred 未设置 g:slimv_lisp 未设置 g:slimv_swank_cmd 未设置

根据网页和手册,我把它放在我的 vimrc 文件中

let g:slimv_swank_cmd = '!start "c:\Program Files\Steel Bank Common Lisp\sbcl.exe" -l "c:\Users\epic\vimfiles\slime\start-swank.lisp"'

我不知道这是否应该是“设置”而不是“让”。(start_swank) 在 SBCL 内不做任何事情。

我假设 '!start' 是一个 Vim 命令,传递的第一件事是 SBCL 在我的计算机上的位置,不知道 '-l' 是做什么的,第三个参数是 SLIMV 放置 'start-swank.lisp 的位置'。

此时,Vim 命令 ',c' 将打开一个运行 SBCL 的命令窗口并等待。在 SBCL 中键入 '(exit)' 将带我回到 Vim 并显示一条红色错误消息,说 'SWANK 服务器未运行,请按 ENTER 继续。

我能找到的任何其他文档都适用于 SLIME,而不是 SLIMV。我怎样才能让 SLIMV 运行,以便我可以将 Vim 用于 SBCL?

编辑:

感谢您对我要做什么的帮助,罗马尼。感谢 slimv 的帮助,塔马斯。

我已经删除了 .vimrc 中的 g:slimv_swank_cmd 条目,因为我相信如果我有正确的命令,它本身会做同样的事情。

现在,我想我又回到了我试图用那个命令解决的问题,那可能是 SBCL 不适合我(?)。如果没有 .vimrc 中的 g:slimv_swank_cmd 设置,Vim 会启动 SBCL,然后失败,因为 COMPILE-FILE 在评估 start-swank.lisp 的第 16 行时返回 NIL。当 SBCL 处于调试屏幕询问是否重试、继续、中止、、、或退出时,Vim 将报告“SWANK 服务器未运行”。

会不会是 slimv 运行良好但 SBCL 无法运行?我仍在尝试在 Vim 中编译程序(* 3.0 4.0),评估行,或者只是连接服务器',C'。

编辑2:

尝试从 GitHub 安装更新版本的 slimv,恐怕我们已经达到了我的能力的尽头。自述文件说要安装 zip,阅读整个内容说查看内部文档了解更多信息,内部文档说解压缩 vimfiles 目录中的 zip 文件。Github 上有很多文件,但我没有看到 zip。

编辑3:

将 github 中的 slimv-master.zip 提取到 .vimfiles 中,在评估 ./slime/start-swank.lisp 的第 16 行时,我得到了与“COMPILE-FILE 返回 NIL”相同的错误。

编辑4:

显然,自 22 年 1 月 26 日以来,SBCL 下载从 v2.2.0 到 V2.2.1。我在 64 位 Windows 10 机器上,单击此处的 Windows-AMD64后,我的 SBCL 下载是从SourceForge自动下载的。我有同样的问题,./slime/swank/sbcl.lisp 从第 16 行返回 NIL,其中 COMPILE-FILE 返回 NIL。它现在正在启动 SBCL v2.2.1。

编辑5:

我的两个 slimv 版本都被提取到./vimfiles/. 我./vimfiles/slime/slime.el的是 2.19 版。较新的 slimv 版本在解压到时不会覆盖文件./vimfiles/吗?当我们只是将 zip 解压缩到 时,是否有卸载./vimfiles/

编辑6:

我在评论旁边没有复选标记来标记 Tamas Kovacs 的最后一个回复作为答案(就像他通过评论提供的其他帮助一样)。我现在在 Vim 中有一个 REPL 窗口,Tamas 解决了我的问题。

4

1 回答 1

0

我总结了我们的调查结果(见上面的评论):

  1. 无需设置 slimv 选项g:slimv_swank_cmd,因为 slimv 应该自动检测 sbcl 并为 swank 服务器构建正确的启动命令。
  2. 如果自动检测失败或者您出于任何其他原因想要创建自己的启动命令,那么您应该使用--load开关(而不是-l)将脚本加载到 sbcl(该开关取决于 lisp 实现)。在 Windows 机器上,我还建议添加/MIN!start命令中,这将启动最小化的 swank 服务器。这是在 Windows 上启动 sbcl 的示例启动命令:

'!start /MIN "c:\Program Files\Steel Bank Common Lisp\sbcl.exe" --load "c:\Users\epic\vimfiles\slime\start-swank.lisp"'

  1. 不幸的是 vim.org 有一个过时的 slimv 版本,并且最近对 sbcl 的更改破坏了与该 slimv 版本中包含的 swank 服务器的兼容性。因此我强烈建议您直接从 github 存储库下载或签出 slimv:https ://github.com/kovisoft/slimv
  2. 从 github下载slimv-master.zip文件并手动安装时,请确保将文件从 zip 解压缩到vimfilesvim 文件夹的正确子目录。这意味着 的内容slimv-master\ftplugin应该进入vimfiles\ftpluginslimv-master\slime应该进入vimfiles\slime,等等。换句话说,slimv-masterzip 中的vimfiles目录代表您系统上的目录。当然,当您通过从 github 签出来安装 slimv 时,这也成立。
于 2022-02-05T11:42:12.910 回答