如何让Emacs识别M-C(meta-shift-c)而不是将其翻译为m-c?
目前当我C-h k M-C
时,我得到:
M-c (translated from M-C) runs the command capitalize-word.
如何才能将M-C转换为M-c?
答案 0 :(得分:10)
只需在键绑定中使用修饰符S
(Shift)。 E.g:
(global-set-key "\M-\S-c" 'foobar)
如果没有明确绑定到移位键,则Emacs会自动将其转换为未移位的键。
从Elisp手册,节点Key Sequence Input
:
如果输入字符是大写的(或者具有shift修饰符)并且没有键绑定,但是它的小写等效项具有一个,那么
read-key-sequence' converts the character to lower case. Note that
lookup-key'不执行大小写转换方式。
答案 1 :(得分:3)
让Emacs区分这两者非常简单:为M-C
添加绑定。当M-C
未找到任何绑定时,从M-c
到M-C
的转换会作为后备。