我开始编码次要模式以提供一些键绑定。我最初的尝试有一个错字:
(define-minor-mode borked-mode
"A mode defined with a broken key binding"
nil nil
'(([b] . 'previous-line)))
我原本打算使用该b
密钥,但立即意识到我应该使用"b"
而不是[b]
。所以我重新定义了次要模式:
(define-minor-mode borked-mode
"A mode defined with a broken key binding"
nil nil
'(("b" . 'previous-line)))
但是,这没有用。这使我开始通过各种各种绑定键的方式(即(kbd ...),[...]等)来追逐野鹅。最终,我意识到仅仅重新评估(define-minor-mode ...)
表单并没有改变任何东西,我陷入了原始的,损坏的键映射中。然后,我尝试通过直接更改键盘映射(define-key borked-mode-map ...)
,但仍然无法加载正确的键盘映射。最后,我重新启动了Emacs,并正确加载了次要模式。
我的问题是:如何在开发次要模式定义时对其进行更新?有什么方法可以刷新损坏的定义,还是必须重新启动emacs才能清除损坏的位?
defvar
C-M-x
:)您将不需要defparameter
或单独评估setf
。