我不使用粘液,但假设它使用 comint-mode 那么我认为以下方法可能会奏效:
(defun my-slime-test-run ()
(interactive)
(delete-other-windows)
(split-window-below)
(with-selected-window (next-window)
(switch-to-buffer "slime-repl")
(goto-char (point-max))
(insert "(test-run)")
(comint-send-input)))
(global-set-key (kbd "<f3>") 'my-slime-test-run)
可能有更好的方法来做到这一点,但希望这能让您了解如何编写 elisp 函数以在编辑器中执行任务(并注意该函数的读取方式非常像一组编辑器指令——您只需将您将使用的击键转换为等效代码即可完成很多工作——甚至根本不编写代码,只需记录和保存键盘宏)。
用于C-hf name-of-the-function
RET获取有关该函数中任何函数/宏调用的文档。
对于键绑定,我曾经C-hkF3检查 Emacs 如何引用该键,然后使用该字符串作为参数kbd
(并注意如何使用该序列来查找绑定到任何给定键序列的函数的名称,您可以然后根据需要在代码中使用)。
如果您还不了解许多事情,那么它们就远不那么明显了,但这只有在与此一样大的代码库(并且可以追溯到与此一样长)的情况下才能预期。
最棒的是,如果您不知道自己在寻找什么,您始终可以搜索与模式匹配的函数名称C-uC-ha(类似地,对于变量、值、库和文档;M-: (info "(emacs) Apropos")
RET有关此工具的更多信息,请参阅)。加上信息手册(带有索引 - 按I
或i
在任何特定手册中,或使用info-apropos
命令一次搜索所有信息手册)。
实际上,您能做的最好的事情之一就是学习如何使用 Emacs 的自我记录特性来找到您不知道的事情的答案。