Emacs: función que escribe un código elisp que agrega una combinación de teclas especificada por el usuario
-
05-07-2019 - |
Pregunta
¿Cómo puedo crear una función interactiva que lea interactivamente una tecla del usuario (como cuando presionas C-h k) y luego escribe una línea como esta:
(global-set-key (kbd "C-x C-s") 'hello)
donde el " C-x C-s " La parte se reemplaza apropiadamente con la clave de lectura.
Algunos usuarios principiantes tienen problemas para hacer combinaciones de teclas y, de hecho, también me confundo, así que pensé que vamos a automatizarlo.
Solución
Esto parece funcionar:
(defun insert-key (key)
(interactive (list (read-key-sequence "Key: ")))
(insert "(global-set-key (kbd \"" (key-description key) "\") 'hello)\n"))
Otros consejos
¿Eh? Tal vez no estoy entendiendo la pregunta, pero si no, esta es la respuesta: global-set-key
es un comand . Y hace exactamente lo que se solicita (IIUC): lee una secuencia de teclas (tipo, clic, etc.) y luego lee el comando para vincular la secuencia de teclas a.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow