Apakah ada sintaks standar / yang disarankan untuk mendefinisikan pengikatan keyboard?


10

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)

1
Saya ragu ada sintaks yang direkomendasikan tetapi saya pribadi suka (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.
Kaushal Modi

Jawaban:


6

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 untuk kbdmenggunakan 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.


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

adalah cara "asli". Semua yang lain dibangun di atas yang satu ini, pada dasarnya.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.