Согласно руководству по Emacs, ключи-модификаторы нечувствительны к регистру по «историческим причинам».
Могу ли я изменить это поведение?
Моя цель состоит в том, чтобы M-a
и M-A
означали разные вещи.
Спасибо!
Согласно руководству по Emacs, ключи-модификаторы нечувствительны к регистру по «историческим причинам».
Могу ли я изменить это поведение?
Моя цель состоит в том, чтобы M-a
и M-A
означали разные вещи.
Спасибо!
Согласно инструкции,
Алфавитный символ, модифицированный Control, всегда считается нечувствительным к регистру: Emacs всегда интерпретирует C-A как C-a, C-B как C-b и так далее. Причина этого историческая.
Таким образом, вы не могли бы определить их как:
(global-set-key (kbd "C-a") 'xxx)
(global-set-key (kbd "C-A") 'yyy)
но S-
можно использовать для Shift, поэтому:
(global-set-key (kbd "C-a") 'xxx)
(global-set-key (kbd "C-S-a") 'yyy) ;; C-A
в порядке. А также
Для всех других модификаторов вы можете сделать измененные буквенные символы чувствительными к регистру при настройке Emacs. Например, вы можете заставить M-a и M-A выполнять разные команды.
Таким образом, вы можете определить привязку клавиш следующим образом:
(global-set-key (kbd "M-a") 'xxx)
(global-set-key (kbd "M-A") 'yyy)
C-A
это aka C-S-a
(или наоборот). Сам Emacs всегда использует последнее обозначение с явным модификатором Shift.
- person Drew; 12.06.2014
(global-set-key [?\s-m] 'minimize)
и(global-set-key [?\s-M] 'maximize)
- person lawlist   schedule 12.06.2014