1

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

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

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

有没有人可以解决这个问题?

编辑:

关于我如何使用 Emacs 的问题。是的,我启动 Emacs,然后用 Mx slime 输入 slime。我读到我可以通过接下来使用 Mx 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:

答案在评论中提供。

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

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

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

4

3 回答 3

2

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

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

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

于 2009-05-20T05:15:41.093 回答
2

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

于 2009-05-20T14:16:10.060 回答
1

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

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

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

于 2009-05-20T05:16:48.783 回答