Hydra禁用对前缀参数的解释

时间:2018-12-15 23:14:37

标签: emacs key-bindings hydra

很长一段时间以来,我一直使用常见的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),但这很愚蠢,并导致创建了许多额外的函数。

如何在活动的九头蛇期间禁用对前缀arg的解释?而且,我想更一般地说是有一种方法可以暂时禁用对前缀参数的解释。

1 个答案:

答案 0 :(得分:0)

浏览完代码后,我发现您可以覆盖hydras基本图,就像universal-argument-map。因此,要使用仅以 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..
  )