【问题标题】:I can't close the last parenthesis and send my function to the REPL using lisp-mode in Slime我无法关闭最后一个括号并在 Slime 中使用 lisp-mode 将我的函数发送到 REPL
【发布时间】:2009-05-20 04:42:11
【问题描述】:

这是一个非常简单的问题。我已经安装了 Emacs 22.2.1(来自 Ubuntu (9.04) repo,并从他们主页上的 repo 下载了 Slime-current。

我按照粘液提供的说明进行操作,它可以工作。我可以启动 slime 并按预期使用它。

但是,当我进入 lisp-mode (M-x lisp-mode) 时,我无法再与 REPL 交互。我输入的任何内容都不起作用,当我按下回车键时,光标只会移动到下一行。

有人能解决这个问题吗?

编辑:

关于我如何使用 Emacs 的问题。是的,我启动 Emacs,然后用 M-x slime 输入 slime。我读到我可以通过接下来使用 M-x lisp-mode 进入 lisp 模式来获得正确的语法突出显示。

它确实提供了语法高亮显示,但如下所述,它用于编辑文本文件,而不是与 REPL 交互。

我最近还读到,将以下内容放在我的 .emacs 文件中将启用语法突出显示(它不起作用)。

; Syntax Highlighting
(global-font-lock-mode 1)

; Enable slime
(add-to-list 'load-path "/home/doug/Software/slime/")  ; your SLIME directory
(setq inferior-lisp-program "/home/doug/Software/ccl/ccl") ; your Lisp system
(require 'slime)
(slime-setup)

; Enable psvn
(require 'psvn)

所以我想我的问题需要修改。既然 lisp-mode 并不是简单地为 slime 启用 lisp 功能,那么我如何在 slime 中启用语法高亮呢?

编辑 2:

答案已在评论中提供。

启动 slime 然后打开/创建一个新文件来使用。这是打算使用 lisp-mode 的缓冲区。

函数被编写、突出显示并发送到 REPL。输出显示在底部。

两者应该合作,而不是融合。

【问题讨论】:

  • 只是评论,因为它不是答案:通常,您不会直接在 REPL 缓冲区中编写大函数,而是将它们写入另一个缓冲区并通过 C-c C-c 将它们发送到 REPL . slime-repl-mode 有自己的高亮显示,但目的不同:它以不同的颜色显示输入、输出和系统消息(在我的黑底绿设置中,它以绿色显示输入,以红色显示系统消息,并以浅蓝色输出)。
  • 其实它确实完美地回答了我的问题,把它写出来作为答案,你应得的。

标签: emacs common-lisp slime


【解决方案1】:

移出 cmets:通常,您不会直接在 REPL 缓冲区中编写大函数,而是将它们写入另一个缓冲区并通过 C-c C-c 将它们发送到 REPL。 slime-repl-mode 有自己的高亮显示,但目的不同:它以不同的颜色显示输入、输出和系统消息(在我的黑底绿设置中,它以绿色显示输入,以红色显示系统消息,并以浅蓝色输出)。

【讨论】:

    【解决方案2】:

    听起来您在具有 REPL 的缓冲区中输入 lisp-mode,是吗?如果是这种情况,那可能就是你做错了什么。 REPL 缓冲区可能有自己的模式。

    查看文档,与 Slime 交互的方式(与大多数 Emacs 的劣质进程一样)是使用评估当前 sexp 或区域或缓冲区的绑定。请参阅此page of the documentation。该链接中的所有绑定都不是简单的 RET 键 - 这让我相信您更改了 REPL 缓冲区的模式。

    更多信息当然会有所帮助。

    【讨论】:

      【解决方案3】:

      当您执行 M-x slime 时,Slime 启动并显示 REPL(带有 REPL 的缓冲区将处于 slime-repl-mode 主模式。此 slime-repl-mode 驱动 REPL。

      lisp-mode,根据它的描述,是“为除 GNU Emacs Lisp 之外的 Lisps 编辑 Lisp 代码的主要模式”。 Lisp 模式用于编辑文件,而不是 REPL。 这是预期的行为。

      相反,为什么要将 REPL 切换到 lisp 模式?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-17
        • 1970-01-01
        • 2021-12-29
        • 1970-01-01
        相关资源
        最近更新 更多