Saya telah melihat semua hal berikut untuk mendefinisikan pengikatan keyboard. Semua ini berfungsi (setidaknya pada MS Windows). Saya tidak tahu apakah ada cara lain untuk melakukan hal yang sama.
Saya bertanya-tanya apakah ada cara standar atau yang disarankan untuk mendefinisikan pengikatan papan ketik dan apakah disarankan untuk menghindari beberapa di antaranya.
(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)
key-bindings
syntax
Nama
sumber
sumber
(global-set-key (kbd "M-r") 'some-command)
metode ini karena konsistensi di mana kombinasi tombol dapat didefinisikan .. Anda tidak perlu mengingat kapan atau kapan tidak melarikan diri.Jawaban:
Tidak ada cara standar tunggal, karena ada berbagai kasus penggunaan.
Jika Anda menulis kode seperti itu secara manual, dalam file init Anda misalnya, maka Anda mungkin lebih suka
(kbd ...)
format, karena argumen untukkbd
menggunakan notasi yang sama yang digunakan Emacs ketika berkomunikasi dengan Anda tentang ikatan kunci (dalam*Help*
, misalnya).Tetapi jika Anda membuat binding menggunakan Emacs Lisp, maka Anda mungkin lebih suka notasi vektor, khususnya
[(meta r)]
dll, karena ini agak sedikit lebih mudah untuk dikelola.Beberapa orang menganggap pendekatan string sederhana sebagai kuno, tetapi berguna ketika kuncinya sederhana:
"a"
lebih sederhana dan setidaknya dapat dibaca(kbd "a")
. Tetapi string sederhana lebih sulit untuk dibaca / digunakan ketika datang ke kunci pengubah dll.sumber
adalah cara "asli". Semua yang lain dibangun di atas yang satu ini, pada dasarnya.
sumber