是什么导致 `M-S-t` (meta + shift + t) 键绑定不可用?

What causes `M-S-t` (meta + shift + t) key binding not to take?

默认情况下,C-S-tM-S-t 在我的 Emacs 中都是未绑定的。因此,当我按下它们时,它们被翻译成 C-tM-t。很好,但我想用它们来调整原始函数,因此将这些行放在我的 .emacs:

(global-set-key (kbd "C-S-t") 'transpose-chars-backward)
(global-set-key (kbd "M-S-t") 'transpose-words-backward)

那里的功能是我自己的,通过 M-x.

调用时可以正常工作

这适用于 C-S-t,但不适用于 M-S-t,它仍然被翻译成 M-tC-h k M-S-t 上的消息证实了这一点。

并不是说不能配置一般的M-S-组合,因为M-qM-S-q做的事情不同。

是什么导致了这种不一致,我该如何解决?

我是 运行 Aquamacs Mac OS X 10.9.5.

在这里你有两种不同的方式来做你想做的事:

(global-set-key (kbd "M-T") 'transpose-words-backwards)
(global-set-key [(meta shift t)] 'transpose-words-backwards)

我不确定是什么原因导致 (kbd "M-S-t")(kbd "C-S-t") 的工作方式不同,顺便说一句。前段时间我成为矢量符号 ([(meta shift t)]) 的行家,因为我发现它更容易预测(我总是第一次就做对了,使用 kbd 符号有时我需要尝试几次)。