Hydra 禁用前缀参数的解释
Hydra disable interpretation of prefix argument
很长一段时间以来,我一直使用常见的 emacs hydra 来导航表达式,遵循
(defhydra hydra-word (:color red) "word"
("M-f" forward-word)
("M-b" backward-word)
("f" forward-word)
("b" backward-word)
;; etc..
)
但我总是遇到一个烦人的问题:当我总是想简单地插入一个数字时,按下一个数字会被解释为前缀参数。我查看了 hydra wiki,但找不到禁用前缀解释的答案。我知道我可以为每个数字写一个 ("1" self-insert-command nil :exit t)
,但这很愚蠢,会导致创建一堆额外的函数。
如何在活动 hydra 期间禁用前缀 arg 的解释?而且,我想更一般地说,有没有办法暂时禁用前缀参数的解释。
查看代码后,我发现您可以覆盖像 universal-argument-map
这样的 hydras 底图。因此,要仅使用 C-u 开头的前缀来实现上述内容,但所有数字和 -
自插入,以下工作
(defhydra hydra-word (:color red :base-map (make-sparse-keymap)) "word"
("M-f" forward-word)
("M-b" backward-word)
("f" forward-word)
("b" backward-word)
;; etc..
)
很长一段时间以来,我一直使用常见的 emacs hydra 来导航表达式,遵循
(defhydra hydra-word (:color red) "word"
("M-f" forward-word)
("M-b" backward-word)
("f" forward-word)
("b" backward-word)
;; etc..
)
但我总是遇到一个烦人的问题:当我总是想简单地插入一个数字时,按下一个数字会被解释为前缀参数。我查看了 hydra wiki,但找不到禁用前缀解释的答案。我知道我可以为每个数字写一个 ("1" self-insert-command nil :exit t)
,但这很愚蠢,会导致创建一堆额外的函数。
如何在活动 hydra 期间禁用前缀 arg 的解释?而且,我想更一般地说,有没有办法暂时禁用前缀参数的解释。
查看代码后,我发现您可以覆盖像 universal-argument-map
这样的 hydras 底图。因此,要仅使用 C-u 开头的前缀来实现上述内容,但所有数字和 -
自插入,以下工作
(defhydra hydra-word (:color red :base-map (make-sparse-keymap)) "word"
("M-f" forward-word)
("M-b" backward-word)
("f" forward-word)
("b" backward-word)
;; etc..
)