J'ai vu tout ce qui suit pour définir une liaison clavier. Tous ces travaux (au moins sur MS Windows). Je ne sais pas s'il y a une autre façon de faire la même chose.
Je me demande s'il existe un moyen standard ou recommandé de définir une liaison clavier et s'il est recommandé d'éviter certains d'entre eux.
(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)
(global-set-key (kbd "M-r") 'some-command)
méthode en raison de la cohérence dans laquelle les combinaisons de touches peuvent être définies .. vous n'avez pas à vous rappeler quand ou quand ne pas échapper à des trucs.Réponses:
Il n'y a pas de méthode standard unique, car il existe différents cas d'utilisation.
Si vous écrivez ce code manuellement, dans votre fichier init par exemple, vous préférerez peut-être le
(kbd ...)
format, car l'argument tokbd
utilise la même notation qu'Emacs lorsqu'il communique avec vous à propos des raccourcis clavier (dans*Help*
, par exemple).Mais si vous créez des liaisons à l'aide d'Emacs Lisp, vous préférerez peut-être la notation vectorielle, en particulier,
[(meta r)]
etc., car elle est beaucoup plus facile à gérer.Certaines personnes considèrent l'approche de chaîne simple comme archaïque, mais elle est pratique lorsque la clé est simple: elle
"a"
est plus simple et au moins aussi lisible que(kbd "a")
. Mais les chaînes simples sont plus difficiles à lire / à utiliser en ce qui concerne les touches de modification, etc.la source
est la voie "native". Tous les autres sont construits sur celui-ci, en gros.
la source