Emacs: fonction qui écrit un code elisp qui ajoute un raccourci clavier spécifié par l'utilisateur
-
05-07-2019 - |
Question
Comment créer une fonction interactive qui lit de manière interactive une clé de l'utilisateur (comme lorsque vous appuyez sur C-h k), puis écrit une ligne comme celle-ci:
(global-set-key (kbd "C-x C-s") 'hello)
où le "C-x C-s" la pièce est remplacée de manière appropriée par la clé de lecture.
alors j'ai pensé automatisons-le.
La solution
Cela semble fonctionner:
(defun insert-key (key)
(interactive (list (read-key-sequence "Key: ")))
(insert "(global-set-key (kbd \"" (key-description key) "\") 'hello)\n"))
Autres conseils
Hein? Je comprends peut-être mal la question, mais si ce n’est pas le cas, voici la réponse: global-set-key
est une commande . Et il fait exactement ce qui est demandé (IIUC): il lit une séquence de touches (type, clic, etc.), puis la commande à laquelle lier la séquence de touches.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow