Emacs 粘液连接不工作

Emacs 粘液连接不工作,emacs,lisp,common-lisp,slime,Emacs,Lisp,Common Lisp,Slime,我是一名Emacs和普通Lisp新手。我已经成功地在Emacs中安装了SLIME,但我无法运行它。Alt+xslime connect提供了以下选项,接受该选项将给出粘贴在选项下方的错误 Host: 127.0.0.1 Port: 4005 Connecting to Swank on port 4005... make client process failed: connection refused, :name, SLIME Lisp, :buffer, nil,

我是一名Emacs和普通Lisp新手。我已经成功地在Emacs中安装了SLIME,但我无法运行它。Alt+x
slime connect
提供了以下选项,接受该选项将给出粘贴在选项下方的错误

Host: 127.0.0.1
Port: 4005

Connecting to Swank on port 4005...
make client process failed: connection refused, :name, SLIME Lisp, :buffer, nil,
                                                :host, 127.0.0.1, :service 4005,
                                                :nowait, nil
我怎样才能让它工作

  • 要修复空白,请使用双反斜杠将其转义

  • 当您执行
    slime connect
    时,它将期望一个Lisp映像(Lisp运行时)启动并侦听您连接到的服务器和端口。也许你不是故意的

  • slime
    将首先启动
    低级lisp程序
    ,然后连接到它。实际上,这就是你想要做的

  • 这是您可能想要尝试的(当您完成设置时,或者相反)。或者只是在你感觉更舒适的时候保留它。链接中的程序是一个助手,它通过quicklisp工作—您可能需要熟悉的东西,一种Lisp代码的包管理器,以及在Emacs中运行的SLIME。可能,如果你会发现你更容易

    • 首先安装所需的Lisp

    • 安装quicklisp。(请按照此处的说明进行操作:对于Windows,您可以使用Cygwin,也可以不使用curl,只需右键单击链接并执行“将目标另存为”巫术:)。如果不使用SBCL,那么--load可能不是lisp的选项。如果您当前的工作目录是保存quicklisp.Lisp文件的目录,请将其替换为:启动Lisp,输入REPL:
      (加载“quicklisp.Lisp”)
      。要打印当前目录,如果不确定:
      (目录“”)

    • 阅读quicklisp slime helper的自述文件,并按照其中的说明进行操作。基本上,通过quicklisp安装后,您只需要配置一件事,即:

      (加载到/quicklisp/slime helper.el的“c:/完整路径”)

    在.emacs文件中

    如果您不熟悉*nix路径名,则tilde表示当前用户的主目录,即aka
    $home
    ,您可能在安装Emacs时将其设置为环境变量。请注意,
    quicklisp slime helper
    slime
    包是互斥的(它是同一个包,只是包装方式不同),因此如果您有类似以下内容:

    (add-to-list 'load-path "/path/to/slime")
    (require 'slime)
    
    然后,如果要使用
    quicklisp slime helper
    ,请将其注释掉,并仅使用其中一个的配置

    附言

    (add-hook 'inferior-lisp-mode-hook (lambda () (inferior-slime-mode t)))
    

    这看起来是多余的,你为什么需要它/它是什么?您从哪里获得的
    劣质粘液模式
    ?这对我来说并不熟悉。如果将点(插入符号)放置在其上并点击C-h f会发生什么情况?

    使用SLIME的常用方法是配置一个或多个Lisp。通常,m-x slime会启动预定义的Lisp并连接到它。请注意,您需要安装一个Lisp—类似于SBCL、CLISP、LispWorks、CCL,…@RainerJoswig,我已经安装了CLISP。您是否在init文件中的某个地方执行了
    (setq-substander-Lisp-program)/path/to/Lisp“
    ?~/。例如emacs。@AndrewMyers,没有。不过我有这样一个:
    (添加钩子“低级lisp模式钩子(lambda()(低级slime模式t)))
    。好了,
    slime connect
    用于连接到运行swank服务器的已经执行的lisp。否则,将
    低级lisp程序
    设置为CLISP路径,只需执行
    M-x slime
    即可启动。谢谢。有两个问题-Lisp可执行文件路径名中的空格和CLISP。更改到另一个目录并使用SBCL解决了这些问题。关于:
    (add hook'substander lisp mode hook(lambda()(substander slime mode t))
    ,我从某处复制了它。在我对该行进行注释后,Emacs仍然有效。在C-HF上,它给了我“描述函数”,当我输入名称时,它说没有找到匹配项。