Emacs 29 中的主要模式键绑定

问题描述 投票:0回答:1

我是一名长期邪恶模式 Spacemacs 用户,但现在想推出我自己的配置来复制我最喜欢的 Spacemacs 部分。我在主要模式的按键绑定方面遇到了一些问题。

我使用的是 Emacs 29。到目前为止我还不需要 generic.el。遵循此建议来使用较新的 Emacs 29 键绑定 - 这里。我已经成功使用

keymap-set
which-key-add-keymap-based-replacements
。这是我配置的文件键绑定的部分配置,它按预期工作:

(defvar-keymap my-files-keymap
  :doc "Key map for file functions"
  "f" #'find-file
  "s" #'save-buffer)

;;Add new key map to the leader
(keymap-set my-leader-map "f" my-files-keymap)

;;Add labels to the Files keymaps
(which-key-add-keymap-based-replacements my-files-keymap
  "f" "find"
  "s" "save")

;;Add Files to the Leader keymaps
(which-key-add-keymap-based-replacements my-leader-map
  "f" "Files")

但我不明白的是如何为主要模式添加键绑定。例如,在组织模式下,我希望 SPC, m 显示我想要的组织模式的主要模式键绑定。但是,当处于不同的主要模式(例如 Clojure 模式)时,我希望 SPC, m 仅显示与 Clojure 相关的键绑定。

有人可以展示一个使用新的 Emacs 29 函数执行此操作的示例,或者链接到执行此操作的示例吗?

emacs elisp init key-bindings
1个回答
0
投票

我认为最接近的是:

(describe-keymap (current-local-map))

本地键盘映射不一定是主要模式键盘映射;但实际上,情况几乎总是如此。

但通常您会使用

describe-mode
(
C-h m
) 来了解这些内容以及更多内容。

© www.soinside.com 2019 - 2024. All rights reserved.