如何在 SLIME 的 REPL 中获得 Common Lisp 的语法高亮显示?

2024-03-11

我想学习 Common Lisp,并通过 emacs 包管理器安装了 emacs (24.3) 和 slime。

在 slime REPL 语法高亮中不起作用。另一方面,当我启动 Lisp-Mode(在 slime REPL 中)时,表达式的值不再被打印(当我输入“Hello World”并按 Enter 键时,我会得到一个新行,而不是表达式的值。

(如果我打开 lisp 文件语法突出显示有效)


这对我有用 (https://comp.emacs.narkive.com/AWoywbFs/tweaking-slime https://comp.emacs.narkive.com/AWoywbFs/tweaking-slime):

(defvar slime-repl-font-lock-keywords lisp-font-lock-keywords-2)
(defun slime-repl-font-lock-setup ()
  (setq font-lock-defaults
        '(slime-repl-font-lock-keywords
         ;; From lisp-mode.el
         nil nil (("+-*/.<>=!?$%_&~^:@" . "w")) nil
         (font-lock-syntactic-face-function
         . lisp-font-lock-syntactic-face-function))))
      
(add-hook 'slime-repl-mode-hook 'slime-repl-font-lock-setup)
      
(defadvice slime-repl-insert-prompt (after font-lock-face activate)
  (let ((inhibit-read-only t))
    (add-text-properties
     slime-repl-prompt-start-mark (point)
     '(font-lock-face
      slime-repl-prompt-face
      rear-nonsticky
      (slime-repl-prompt read-only font-lock-face intangible))))))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 SLIME 的 REPL 中获得 Common Lisp 的语法高亮显示? 的相关文章

  • 当前缓冲区的议程视图

    编辑 解决方案很简单 但对于任何可以解释为什么我的方法不起作用的人来说都是 加分 原点 我想要一个 org mode custom command 来显示仅从当前缓冲区创建的议程 以下代码片段显示了我想要的视图类型 setq org age
  • 对于案例,这些表达案例的方法中哪种最好?

    这些都有效 defun testcaseexpr thecase case thecase foo format t matched foo bar format t matched bar funk format t matched fu
  • 自动替换在 emacs 中输入的某些文本字符串

    有一个小细节一直困扰着我一段时间 即我经常打字 inclued代替 include 如果不是很明显的话 我编写了大量 C 和 C 程序 这个拼写错误破坏了无数的构建并消耗了本来可以用来喝咖啡或冲浪的时间 当然 emacs 可以提供帮助并在我
  • 同时维护多个emacs配置

    我想在同一台电脑上的同一用户帐户上同时维护多个 emacs 配置 例如 emacs prelude emacs starter kit 和我自己的自定义 emacs 配置 为此 我设置了 emacs1 d emacs2 d emacs3 d
  • 在Emacs中,这个错误是什么意思? “警告:运行时需要 cl 包”

    我正在字节编译一个模块 它给了我这个警告 Warning cl package required at runtime 为什么这是一个警告 我很清楚我正在使用cl包裹 事实上有一个 require cl 模块中的语句 使用有什么问题吗cl
  • 有没有办法使用 emacs 安装 R 包?

    我正在使用 ESS 但每次需要安装新软件包时 我都必须使用 R gui 有没有办法在不离开 emacs 的情况下做到这一点 From help Startup Example of Rprofile site local add MASS
  • ESS 在 Windows 上找不到 Rterm.exe

    我将 R 安装在名为 X alphaAndOmega R R 的目录中 所以Rterm exe 32位版本 位于 X alphaAndOmega R R bin i386 我知道它不是 标准 R 目录 并且 标准 R 目录 例如 R 3 0
  • 最新的CEDET版本无法加载语义包

    我在加载 Alex Ott 推荐的一些语义包时遇到问题他著名的 CEDET 指南 http alexott net en writings emacs devenv EmacsCedet html使用最新版本的 CEDET 时 我之前的设置
  • 如何从 ispell 私人词典中删除条目?

    我想知道如何从 ispell 私人词典中删除一个 错误插入的 条目 单词 EDIT 经过更多挖掘后 我仍然无法从默认字典中删除条目 但我认为解决方案可能是构建哈希程序 问题是生成要删除的条目列表 我找不到简单的示例 您应该能够编辑您的个人词
  • Emacs 关于 python 模式函数的默认提示

    在 python 模式下 有一个名为 py execute region 的函数 它将突出显示的代码区域发送到 Python 缓冲区进行评估 评估后 光标位于 Python 缓冲区中 但我希望它保留在脚本缓冲区中 以便我可以继续生成更多代码
  • emacs24 语义补全

    我正在尝试使用 emacs 24 及其附带的 cedet 版本来完成语义 补全适用于我在自己的源文件中定义的类 但补全不适用于标准库或 STL 内容这是我的 emacs 配置 require cedet require semantic r
  • 如果文件有自动保存数据,emacs-daemon 启动会冻结

    我设置了桌面 el这样 emacs 在启动时会自动重新打开上次我杀死 emacs 时保持打开状态的所有文件 现在 当我将 emacs 作为守护进程启动并且重新打开的文件之一具有自动保存数据时 守护进程会显示通常的自动保存数据消息 file
  • windows下无法用emacs + sbcl启动slime

    我想配置我的 emacs 以使用 SLIME 和 SBCL emacs 文件如下所示 add to list load path D app slime setq inferior lisp program sbcl require sli
  • 在 Emacs ruby​​ 模式下使用制表符缩进而不是空格

    我一直在尝试配置 Emacs 以便在缩进 Ruby 代码时插入一个 制表符 而不是一系列 空格 到目前为止 我已经尝试设置 varruby indent tabs mode to t这样 根据文档 它将 如果非零 则在 ruby 模式下插入
  • 如何在 elisp 中将列表作为宏的参数?

    我想实现这样的目标 setq my global keybindings C x C d dired C x C b ibuffer C x b ivy switch buffer apply bind keys my global key
  • emacs 的最佳 java 工具 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • emacs:Orgmode,如何从一行行中创建一个列表

    有没有办法隐藏这样的行块 line1 line2 linen into 1 line1 2 line2 n linen 使用 Emacsorg mode http orgmode org 我知道的最短的方法是 突出显示这些行 包括它们的换行
  • 通过 Emacs 评估 ghci 或 Hugs 中的缓冲区

    在 Emacs 中使用 sml mode 我已经能够使用以下命令将缓冲区内容直接发送到较差的 SML 进程C c C b 现在我只想用 Haskell 做同样的事情 Haskell 模式似乎不支持这一点 所以我想知道 使用 Emacs 和
  • gensym 在 Lisp 中做什么?

    我听到一些同学谈论他们如何使用该功能gensym为此 我问他们它做了什么 甚至在网上查了一下 但我真的无法理解这个函数的作用是什么两者都不为什么或何时最好使用它 特别是 我对它在 Lisp 中的作用更感兴趣 谢谢你们 独特且未被拘禁的符号
  • emacs 临时文件的 .gitignore 正则表达式

    我正在尝试 gitignore emacs 临时 自动保存文件 我在用着 在我的 gitignore 中 But git add A在子文件夹中运行仍然给我 new file make collections py new file nor

随机推荐