【问题标题】:How to highlight current argument in SLIME如何在 SLIME 中突出显示当前参数
【发布时间】:2013-04-15 02:34:49
【问题描述】:

我在 Arch Linux 上使用 sbcl 和 GNU Emacs 24.3.1 和 2012-04-14 版本的 SLIME 来编写一些 Common Lisp 代码。写表达式时,如果我输入,例如

(if 

将显示迷你缓冲区

(if TEST THEN &OPTIONAL ELSE)

是否有模式或 SLIME 设置可以使我当前正在编辑的参数在 minibuffer 中突出显示?例如,如果我输入

(if (> x y) 

如果

(if TEST *THEN* &OPTIONAL ELSE)

或类似的东西显示在迷你缓冲区中。

【问题讨论】:

  • 您使用哪些 Emacs 和 SLIME 版本?在 Windows 下的 Lispbox 中,它似乎开箱即用。
  • 您使用哪种文档次要模式?您可以通过签入状态行轻松找到它?应该有(Lisp ElDoc ...)(Lisp Autodoc ...) 之类的东西。
  • @Alexey 在问题中添加了一些配置细节。关于文档次要模式:我没有使用 eldoc 模式,而且我认为我没有安装 Lisp Autodoc(我为“autodoc”做了一个 C-h a 没有结果)。此外,这是我的模式行上显示的内容 - 与文档无关:game.lisp 86% (115, 15) (Lisp [? sbcl])
  • 如何在您的 emacs 设置中配置 SLIME?你有类似(slime-setup '(...)) 的东西吗?
  • @Alexey 在我的 .emacs 中,我有以下几行:(setq inferior-lisp-program "/usr/bin/sbcl") (add-to-list 'load-path "~/.emacs.d/slime-2012-04-14/") (require 'slime) (slime-setup)

标签: emacs slime


【解决方案1】:

奇怪的是,您在 minibuffer 中有使用此配置的文档。也许您的发行版也从不同的位置加载它。

请试试这个配置:

(setq inferior-lisp-program "/usr/bin/sbcl")
(add-to-list 'load-path "~/.emacs.d/slime-2012-04-14/")
(require 'slime)
(require 'slime-autoloads)
(slime-setup '(slime-autodoc))

它告诉 Emacs 加载和使用 slime-autodoc 模块,该模块显示文档和在 minibuffer 中,并按您希望的方式突出显示它。

也许您还想更新到更新的 SLIME 版本(ELPA 中的当前版本是 20130402)。

【讨论】:

  • 优秀。让一切正常工作需要一些摆弄,但我需要的是 slime-autodoc。谢谢!
猜你喜欢
  • 2020-03-14
  • 2021-11-15
  • 1970-01-01
  • 2020-01-11
  • 2012-09-17
  • 1970-01-01
  • 1970-01-01
  • 2022-01-05
  • 1970-01-01
相关资源
最近更新 更多