如何让Emacs键绑定识别大写字母?

时间:2014-03-03 18:43:34

标签: emacs elisp

如何让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?

2 个答案:

答案 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-cM-C的转换会作为后备。