如何有效地关闭由 `slime-describe-symbol` 打开的缓冲区?

How do I efficiently close the buffer opened by `slime-describe-symbol`?

问题:

  1. 我已经开始了一个 Common Lisp 会话,在其默认的垂直分割中有 *slime-repl sbcl*
  2. 我在一个符号上,比方说 cond,然后按 slime-describe-symbol 键,在我的例子中是 ,hh,因为我使用的是 spacemacs。
  3. 这会在 repl window.
  4. 之上打开一个缓冲区 *slime-description*

我现在处于必须的境地:

每次打开帮助文件时我都必须这样做,这与设计的工作流程相比似乎很奇怪。我希望这可以通过一次击键来实现。

管理此问题的预期方法是什么?

在普通 emacs 中,移动到另一个 window 的键盘快捷键是 'C-x o'(其他 window)。我假设在描述符号时实现自动光标移动的最简单方法是通过修改 slime-describe-symbol 将光标移动到 slime-description[=23 来定义您自己的自定义 elisp 函数=] window 并(重新)绑定键盘快捷键。

在我的机器上:

(defun my-slime-describe-symbol (symbol-name) "Describe the symbol at point." (interactive (list (slime-read-symbol-name "Describe symbol: "))) (when (not symbol-name) (error "No symbol given")) (slime-eval-describe `(swank:describe-symbol ,symbol-name)) (switch-to-buffer-other-window "*slime-description*"))

然后根据自己的喜好定义键盘快捷方式:

(define-key slime-mode-map (kbd "C-c C-d d") 'my-slime-describe-symbol) (define-key slime-mode-map (kbd "C-c C-d C-d") 'my-slime-describe-symbol)