Sự khác biệt giữa bản đồ định nghĩa toàn cầu khóa-xác định và bản đồ toàn cầu-bộ-khóa trong Emacs


9

Nhìn vào cách mọi người lập trình các phím tắt trong Emacs, tôi nhận thấy hai mẫu khác nhau:

Một cách sử dụng:

(global-set-key (kbd "M-N) 'select-next-window)

Người khác:

(define-key global-map (kbd "M-N") 'select-next-window)

Sự khác biệt giữa chúng là gì? Cả hai đều không định nghĩa các phím tắt "toàn cầu" trong Emacs?

Câu trả lời:


5

Dường như không có nhiều sự khác biệt trong vụ án lớn:

  • (global-set-key key command)sôi sùng sục xuống (define-key (current-global-map) key command)), và
  • describe-varnói với chúng tôi rằng global-map"là một sơ đồ thường là (nhưng không nhất thiết) bản đồ toàn cầu của Emacs", trong khi
  • (current-global-map) "Trả về sơ đồ toàn cầu hiện tại".

Tuy nhiên, các tài liệu của Emacs nói về "sơ đồ" toàn cầu, vì vậy không rõ bằng cách nào, nếu có thể, bạn có thể bắt gặp một số keymap toàn cầu.


Biến global-mapcó thể được liên kết với một tệp hoặc giá trị cục bộ của bộ đệm hoặc thậm chí nó có thể bị ràng buộc trong một letcâu lệnh.
Trey Jackson

1
Sơ đồ toàn cầu được thiết lập bởi use-global-map. Không có nhiều gói thực hiện việc này: chủ yếu là một vài chế độ mô phỏng như Viper và một số chức năng như read-charghi đè lên bản đồ toàn cầu tạm thời.
Gilles 'SO- ngừng trở nên xấu xa'
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.