Có một cú pháp tiêu chuẩn / được đề nghị để xác định ràng buộc bàn phím không?


10

Tôi đã thấy tất cả những điều sau đây để xác định ràng buộc bàn phím. Tất cả đều hoạt động (ít nhất là trên MS Windows). Tôi không biết có cách nào khác để làm điều tương tự không.
Tôi tự hỏi nếu có một cách tiêu chuẩn hoặc được khuyến nghị để xác định ràng buộc bàn phím và nếu nó được khuyến nghị để tránh một số trong số này.

(global-set-key "\M-r" 'some-command)
(global-set-key [(meta r)] 'some-command)
(global-set-key [?\M-r] 'some-command)
(global-set-key (kbd "M-r") 'some-command)

1
Tôi nghi ngờ có một cú pháp được đề xuất nhưng cá nhân tôi thích (global-set-key (kbd "M-r") 'some-command)phương pháp này vì tính nhất quán trong đó các tổ hợp phím có thể được xác định .. bạn không cần phải nhớ khi nào hoặc khi nào không thoát khỏi công cụ.
Kaushal Modi

Câu trả lời:


6

Không có cách tiêu chuẩn duy nhất, vì có nhiều trường hợp sử dụng khác nhau.

Nếu bạn đang viết mã như vậy một cách thủ công, chẳng hạn trong tệp init của bạn, thì bạn có thể thích (kbd ...)định dạng hơn, bởi vì đối số kbdsử dụng cùng một ký hiệu mà Emacs sử dụng khi giao tiếp với bạn về các ràng buộc chính ( *Help*ví dụ: trong ví dụ).

Nhưng nếu bạn đang tạo các ràng buộc bằng Emacs Lisp, thì bạn có thể thích ký hiệu vectơ, đặc biệt là [(meta r)]v.v., vì nó khá dễ quản lý hơn một chút.

Một số người coi cách tiếp cận chuỗi đơn giản là cổ xưa, nhưng nó rất tiện lợi khi khóa đơn giản: "a"đơn giản hơn và ít nhất là dễ đọc như (kbd "a"). Nhưng các chuỗi đơn giản khó đọc / sử dụng hơn khi nói đến các phím bổ trợ, v.v.


6
(global-set-key [?\M-r] 'some-command)

là cách "bản địa". Tất cả những cái khác được xây dựng trên đầu trang này, về cơ bản.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.