首页 > 解决方案 > 如何使用领导密钥作为包前缀的一部分

问题描述

在其他地方找不到信息。我有,作为领导者的钥匙。

尝试prespectiveworkgroups包(emacs)设置前缀键:

(use-package perspective
  :demand t
  :init
  (setq persp-keymap-prefix (kbd ", c")) ;; not working
  (customize-set-variable 'persp-keymap-prefix (kbd ", c")) ;; not working either
  (setq persp-keymap-prefix (kbd "<leader> c")) ;; nope
  (setq persp-keymap-prefix (kbd "C-x x")) ;; working..
  :config ...

尝试了不同的变体,但没有任何效果,遗憾的是我还没有学习 elisp,请帮助


解决方案

  (define-key evil-normal-state-map (kbd ",z") 'perspective-map)

感谢picle rick

此外,如果上述解决方案因某种原因对您不起作用,这里还有一个:

  (setq persp-mode-prefix-key (kbd "C-x x"))
  (define-key key-translation-map (kbd ",z") (kbd "C-x x"))

资源

标签: emacskey-bindingsevil-mode

解决方案


前缀键通常需要在加载包之前定义才能生效,因为此时填充了键映射。否则,需要采取特殊措施来使用新的前缀值重新填充键映射。

因此,您可以坚持使用当前的配置,但您需要确保require与这些软件包相关的任何 s 都发生在 s 之后setq(这将是我个人的偏好)。

或者,您可以使用自定义功能/UI(至少对于wg-prefix-key,我没有研究presp)。 defcustom使用特殊属性定义的变量,例如:set,可以在对变量进行各种更改时运行代码,例如。更新它的价值。这将涉及一些M-xcustomize交互的东西,或者在代码中,

(customize-set-variable 'wg-prefix-key (kbd ", a"))

推荐阅读