Theo hướng dẫn,
Một kiểm soát chữ cái -modified luôn coi case-insensitive: Emacs luôn đối xử với C-A như C-a, C-B như C-b, và vân vân. Lý do cho điều này là lịch sử.
Vì vậy, bạn không thể xác định họ thích:
(global-set-key (kbd "C-a") 'xxx)
(global-set-key (kbd "C-A") 'yyy)
nhưng S-
có thể được sử dụng cho phím Shift, vì vậy:
(global-set-key (kbd "C-a") 'xxx)
(global-set-key (kbd "C-S-a") 'yyy) ;; C-A
là OK. Và
Đối với tất cả các công cụ sửa đổi khác, bạn có thể sửa đổi các ký tự chữ cái phân biệt chữ hoa chữ thường khi bạn tùy chỉnh Emac. Ví dụ, bạn có thể làm cho M-a và M-A chạy các lệnh khác nhau.
Vì vậy, bạn có thể định nghĩa chính ràng buộc như thế này:
(global-set-key (kbd "M-a") 'xxx)
(global-set-key (kbd "M-A") 'yyy)
Theo như tôi biết, họ chỉ coi như là case-insensitive nếu chỉ có một định nghĩa then chốt. Nếu bạn tạo hai nghĩa là định nghĩa khóa chữ thường và một định nghĩa khóa chữ hoa, thì chúng không còn được coi là không phân biệt chữ hoa chữ thường. Sử dụng phương pháp bạn tìm kiếm là rất phổ biến. Ví dụ: '(global-set-key [? \ S-m] 'tối thiểu)' và '(global-set-key [? \ S-M]' tối đa hóa)' – lawlist