Ich habe alle folgenden Punkte zum Definieren einer Tastaturbindung gesehen. All dies funktioniert (zumindest unter MS Windows). Ich weiß nicht, ob es einen anderen Weg gibt, dasselbe zu tun.
Ich frage mich, ob es einen Standard oder eine empfohlene Methode zum Definieren einer Tastaturbindung gibt und ob es empfohlen wird, einige davon zu vermeiden.
(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
Name
quelle
quelle
(global-set-key (kbd "M-r") 'some-command)
Methode wegen der Konsistenz, in der die Tastenkombinationen definiert werden können. Sie müssen sich nicht erinnern, wann oder wann Sie nicht entkommen müssen.Antworten:
Es gibt keinen einheitlichen Standardweg, da es unterschiedliche Anwendungsfälle gibt.
Wenn Sie solchen Code manuell schreiben, beispielsweise in Ihre Init-Datei, bevorzugen Sie möglicherweise das
(kbd ...)
Format, da das Argumentkbd
dieselbe Notation verwendet, die Emacs verwendet, wenn es mit Ihnen über Schlüsselbindungen kommuniziert (*Help*
z. B. in).Wenn Sie jedoch Bindungen mit Emacs Lisp erstellen, bevorzugen Sie möglicherweise die Vektornotation, insbesondere
[(meta r)]
usw., da die Verwaltung erheblich einfacher ist.Einige Leute halten den einfachen String-Ansatz für archaisch, aber er ist praktisch, wenn der Schlüssel einfach ist: Er
"a"
ist einfacher und mindestens so lesbar wie(kbd "a")
. Einfache Zeichenfolgen sind jedoch schwieriger zu lesen / zu verwenden, wenn es um Modifizierertasten usw. geht.quelle
ist der "native" Weg. Alle anderen bauen im Grunde genommen auf diesem auf.
quelle