无法在 emacs 中重新绑定 C-M-q
Can't rebind C-M-q in emacs
我正在尝试设置一些自定义绑定,但 运行 遇到了一个令人费解的问题,我无法重新绑定 C-M-q 或完全取消绑定。我重新绑定其他键没有问题,所以我不知道 C-M-q 有什么特别之处。以下是我在 .emacs 文件中尝试过的一些内容。
;;(global-set-key (kbd "C-M-q") nil)
;;(global-unset-key (kbd "C-M-q"))
;;(global-set-key (kbd "C-M-q") 'shrink-window-horizontally)
(global-set-key (kbd "C-M-y") 'shrink-window-horizontally)
(global-set-key (kbd "C-M-w") 'shrink-window)
(global-set-key (kbd "C-M-e") 'enlarge-window)
(global-set-key (kbd "C-M-r") 'enlarge-window-horizontally)
无论我尝试什么,C-h k 命令都说 C-M-q 绑定到
C-M-q runs the command indent-pp-sexp, which is an interactive
compiled Lisp function in `lisp-mode.el'.
It is bound to C-M-q.
global 键映射是最低优先级的键映射,而此绑定位于缓冲区的 local(主要模式)键映射中您正在查看(这是一个 lisp 缓冲区),因此 Emacs 永远不会看到您的全局键盘映射发生变化,因为它在到达那一步之前已经找到了绑定。
具体来说,此绑定位于 lisp-mode-shared-map
(几种 lisp 模式的父键映射)中,它隐藏了 prog-mode-map
中更通用的绑定。其他编程模式对此键有自己的绑定,以确保它始终具有某种 "indent expression" 行为。
因此,我会建议您不要破坏此绑定,因为它有标准用途。如果你真的想要这样做,那么你应该看看Globally override key binding in Emacs。
Emacs 有很多层的键盘映射,了解系统的工作原理很重要,因此我强烈建议您花时间阅读以下有关该主题的文章:
https://www.masteringemacs.org/article/mastering-key-bindings-emacs
我正在尝试设置一些自定义绑定,但 运行 遇到了一个令人费解的问题,我无法重新绑定 C-M-q 或完全取消绑定。我重新绑定其他键没有问题,所以我不知道 C-M-q 有什么特别之处。以下是我在 .emacs 文件中尝试过的一些内容。
;;(global-set-key (kbd "C-M-q") nil)
;;(global-unset-key (kbd "C-M-q"))
;;(global-set-key (kbd "C-M-q") 'shrink-window-horizontally)
(global-set-key (kbd "C-M-y") 'shrink-window-horizontally)
(global-set-key (kbd "C-M-w") 'shrink-window)
(global-set-key (kbd "C-M-e") 'enlarge-window)
(global-set-key (kbd "C-M-r") 'enlarge-window-horizontally)
无论我尝试什么,C-h k 命令都说 C-M-q 绑定到
C-M-q runs the command indent-pp-sexp, which is an interactive compiled Lisp function in `lisp-mode.el'.
It is bound to C-M-q.
global 键映射是最低优先级的键映射,而此绑定位于缓冲区的 local(主要模式)键映射中您正在查看(这是一个 lisp 缓冲区),因此 Emacs 永远不会看到您的全局键盘映射发生变化,因为它在到达那一步之前已经找到了绑定。
具体来说,此绑定位于 lisp-mode-shared-map
(几种 lisp 模式的父键映射)中,它隐藏了 prog-mode-map
中更通用的绑定。其他编程模式对此键有自己的绑定,以确保它始终具有某种 "indent expression" 行为。
因此,我会建议您不要破坏此绑定,因为它有标准用途。如果你真的想要这样做,那么你应该看看Globally override key binding in Emacs。
Emacs 有很多层的键盘映射,了解系统的工作原理很重要,因此我强烈建议您花时间阅读以下有关该主题的文章:
https://www.masteringemacs.org/article/mastering-key-bindings-emacs