มีไวยากรณ์มาตรฐาน / แนะนำสำหรับการกำหนดการผูกคีย์บอร์ดหรือไม่?


10

ฉันได้เห็นสิ่งต่อไปนี้ทั้งหมดสำหรับการกำหนดการโยงคีย์บอร์ด งานทั้งหมดนี้ (อย่างน้อยใน MS Windows) ฉันไม่รู้ว่ามีวิธีอื่นในการทำสิ่งเดียวกันหรือไม่
ฉันสงสัยว่ามีวิธีมาตรฐานหรือวิธีที่แนะนำในการกำหนดการผูกแป้นพิมพ์หรือไม่และหากมีการแนะนำให้หลีกเลี่ยงสิ่งเหล่านี้

(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
ฉันสงสัยว่ามีไวยากรณ์ที่แนะนำ แต่โดยส่วนตัวแล้วฉันชอบ(global-set-key (kbd "M-r") 'some-command)วิธีการนี้เนื่องจากความสอดคล้องกันที่สามารถกำหนดชุดค่าผสมคีย์ .. คุณไม่จำเป็นต้องจำเมื่อใดหรือเมื่อใดเพื่อหลีกเลี่ยงสิ่งต่าง ๆ
Kaushal Modi

คำตอบ:


6

ไม่มีวิธีมาตรฐานเดียวเนื่องจากมีกรณีการใช้งานที่แตกต่างกัน

หากคุณกำลังเขียนโค้ดดังกล่าวด้วยตนเองในไฟล์ init ของคุณคุณอาจต้องการ(kbd ...)รูปแบบเนื่องจากอาร์กิวเมนต์ที่kbdใช้สัญกรณ์แบบเดียวกับที่ Emacs ใช้เมื่อสื่อสารกับคุณเกี่ยวกับการเชื่อมโยงคีย์ ( *Help*ตัวอย่างเช่น)

แต่ถ้าคุณกำลังสร้างการผูกโดยใช้ Emacs Lisp คุณอาจชอบสัญกรณ์เวกเตอร์โดยเฉพาะอย่างยิ่ง[(meta r)]เนื่องจากมันค่อนข้างง่ายต่อการจัดการ

บางคนพิจารณาแนวทางสตริงง่ายที่จะเก่า แต่ก็เป็นประโยชน์เมื่อที่สำคัญคือง่าย: ง่ายและอย่างน้อยที่สุดเท่าที่อ่านเป็น"a" (kbd "a")แต่สตริงง่าย ๆ นั้นยากต่อการอ่าน / ใช้งานเมื่อพูดถึงปุ่มตัวดัดแปลง ฯลฯ


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

เป็นวิธี "ดั้งเดิม" คนอื่น ๆ ทั้งหมดถูกสร้างขึ้นบนพื้นฐานของสิ่งนี้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.