Klavye bağını tanımlamak için standart / önerilen bir sözdizimi var mı?


10

Bir klavye bağını tanımlamak için aşağıdakilerin hepsini gördüm. Tüm bunlar çalışır (en azından MS Windows'ta). Aynı şeyi yapmanın başka bir yolu olup olmadığını bilmiyorum.
Bir klavye bağlamasını tanımlamak için standart veya önerilen bir yol olup olmadığını ve bunlardan bazılarının kaçınılması önerilir mi diye merak ediyorum.

(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
Önerilen bir sözdizimi olduğundan şüpheliyim ama (global-set-key (kbd "M-r") 'some-command)tuş kombinasyonlarının tanımlanabileceği tutarlılık nedeniyle şahsen yöntemi seviyorum .
Kaushal Modi

Yanıtlar:


6

Tek bir standart yol yoktur, çünkü farklı kullanım durumları vardır.

Bu tür bir kodu el ile yazıyorsanız, örneğin init dosyanızda (kbd ...)biçimi tercih edebilirsiniz , çünkü kbdEmacs'ın anahtar bağlamaları hakkında sizinle iletişim kurarken kullandığı aynı gösterimi kullanır ( *Help*örneğin, içinde).

Ancak, Emacs Lisp kullanarak bağlamalar oluşturuyorsanız, [(meta r)]yönetmeyi biraz daha kolay olduğu için vektör gösterimini, özellikle vb. Tercih edebilirsiniz .

Bazı insanlar basit dize yaklaşımını arkaik olarak görürler, ancak anahtar basit olduğunda kullanışlıdır: "a"daha basit ve en azından okunabilir (kbd "a"). Ancak basit dizeleri, değiştirici tuşlar vb. Söz konusu olduğunda okumak / kullanmak daha zordur.


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

"doğal" yoldur. Diğerlerinin hepsi bunun üzerine inşa edilmiştir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.