为什么Emacs local-set-key不会覆盖模式挂钩中的全局设置键?

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

在Emacs的tide-mode(打字稿开发)中,我想使用M-q,它通常与fill-paragraph绑定,而不是运行tide-format。我有一个模式钩子

(defun setup-tide-mode ()
...
  (local-set-key [M-q] 'tide-format)
  (describe-key [M-q]))
(add-hook 'typescript-mode-hook #'setup-tide-mode)

当我打开一个打字稿文件时,我确实看到了确实显示的*Help*缓冲区

<M-q> runs the command tide-format ...

然而,当我运行C-h k M-q来描述M-q的键绑定时,我得到了

M-q runs the command fill-paragraph

<M-q>M-q之间的打印输出存在这种可疑的差异。这可能告诉我一些事情,但我不知道是什么。

在本地覆盖M-q以运行不同命令的正确方法是什么?

emacs key-bindings
1个回答
1
投票

您想使用[?\M-q]而不是[M-q],因为?\M-q是按下Alt / Meta修改器和Q键时生成的事件。

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