He visto todo lo siguiente para definir un enlace de teclado. Todo este trabajo (al menos en MS Windows). No sé si hay otra forma de hacer lo mismo.
Me pregunto si hay una forma estándar o recomendada para definir un enlace de teclado y si se recomienda evitar algunos de estos.
(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
Nombre
fuente
fuente
(global-set-key (kbd "M-r") 'some-command)
método debido a la consistencia en la que se pueden definir las combinaciones de teclas ... no tienes que recordar cuándo o cuándo escapar de las cosas.Respuestas:
No existe una única forma estándar, porque existen diferentes casos de uso.
Si está escribiendo dicho código manualmente, en su archivo init, por ejemplo, entonces puede preferir el
(kbd ...)
formato, porque el argumentokbd
usa la misma notación que Emacs usa cuando se comunica con usted sobre las asociaciones de teclas (en*Help*
, por ejemplo).Pero si está creando enlaces usando Emacs Lisp, entonces puede preferir la notación vectorial, en particular
[(meta r)]
, etc., ya que es bastante más fácil de administrar.Algunas personas consideran que el enfoque de cadena simple es arcaico, pero es útil cuando la clave es simple:
"a"
es más simple y al menos tan legible como(kbd "a")
. Pero las cadenas simples son más difíciles de leer / usar cuando se trata de teclas modificadoras, etc.fuente
es la forma "nativa". Todos los demás están construidos sobre este, básicamente.
fuente