Respuestas:
Para buscar combinaciones de teclas para un comando, puede usar la función "dónde está" de emacs help
C-h w command-name
Si se establecen varios enlaces para el comando, se enumerarán todos.
Para la inversa, dada una secuencia de teclas, puede escribir
C-h k key-sequence
Para obtener el comando que se ejecutaría.
Puede obtener información detallada sobre un comando, también cualquier función no interactiva definida, escribiendo
C-h f function-name
Lo que le brindará información detallada sobre una función, incluida cualquier combinación de teclas para ella, y
C-h v variable-name
le dará información sobre cualquier variable (vinculada). Los mapas de claves se mantienen en variables, sin embargo, los códigos de claves se almacenan en un formato sin procesar. Pruebe C-h v isearch-mode-map
con un ejemplo.
Para obtener más ayuda sobre cómo obtener ayuda, puede escribir
C-h ?
C-h w <function name>
para saber dónde está la clave, no la documentación completa. Por el contrario, también puede hacer C-h c <key sequence>
para saber qué función está vinculada a una secuencia de teclas.
C-h
a otra cosa en sus gestores de ventanas: C-h w
es equivalente a M-x where-is
. C-h k
es equivalente a M-x describe-key
. C-h f
es equivalente a M-x describe-function
. C-h v
es equivalente a M-x describe-variable
. C-h ?
es equivalente a M-x help-for-help
. También tenga en cuenta que f1
se puede utilizar en lugar de C-h
.
Para enlazar interactivamente el comando a un atajo de teclado (o una secuencia de teclas en términos de Emacs), vea la respuesta seleccionada.
Para vincular mediante programación el comando a una secuencia de teclas determinada, utilice la función key-binding
o lookup-key
que toma una secuencia de teclas y devuelve su comando vinculado. La función key-binding
es lo que C-h k
usa.
(key-binding (kbd "C-h m"))
devuelve el comando vinculado al C-h m
buscar en todos los mapas de teclas actuales. La función lookup-key
busca en un solo mapa de teclas:
(lookup-key (current-global-map) (kbd "TAB")) ; => indent-for-tab-command
(lookup-key org-mode-map (kbd "TAB")) ; => org-cycle
(lookup-key text-mode-map (kbd "TAB")) ; => nil
(lookup-key isearch-mode-map (kbd "TAB")) ; => isearch-printing-char
Para obtener programáticamente todas las secuencias de teclas vinculadas a un comando dado, where-is-internal
probablemente sea la función a usar. El nombre de la función que termina en internal
parece sugerir que no es para que los usuarios de Emacs la utilicen en sus archivos de inicio, pero esta función que tiene una cadena de documentos parece sugerir lo contrario. Cualquiera que esté considerando el uso de where-is-internal
debe verificar primero si las claves de reasignación puede lograr su objetivo.
Una alternativa para encontrar las claves que están vinculadas a un comando específico (por ejemplo, forward-char
) es substitute-command-keys
(por ejemplo, (substitute-command-keys "\\[forward-char]")
). Eso es especialmente útil en textos más extensos.
where-is-internal
sugiere que está bien usarlo. Además, usamos convencionalmente un formato como where-is--internal
(observe el guión doble) para funciones “privadas”.
-internal
se describe allí: gnu.org/software/emacs/manual/html_node/elisp/… . Debe utilizarse para funciones internas de C.
Una vieja pregunta, pero para beneficio de los nuevos lectores, hay otras formas agradables de ver las combinaciones de teclas
M-x describe-bindings
Enumera todos los enlaces disponibles actualmente, use isearch, ocurre, etc. para hacer un buen uso de esta lista.
M-x describe-prefix-map
Esto muestra todos los enlaces disponibles en el modo actual, puede usar el búfer de visualización como lo haría con cualquier otro búfer de Emacs de solo lectura, por ejemplo, puede buscar libremente cadenas, etc.
M-x describe-mode
Además de brindarle información general sobre el modo actual, también enumerará todas las combinaciones de teclas disponibles.
M-x describe-minor-mode
Se le pedirá que ingrese el nombre de un modo menor, y luego se le mostrará información y combinaciones de teclas para ese modo menor.
NOTA : Los siguientes ejemplos utilizan paquetes adicionales (disponibles en MELPA )
Esto le muestra los enlaces justo antes de que los necesite. Ingrese un prefijo, por ejemplo C-x
oC-c
y se mostrará una lista de los enlaces disponibles en ese prefijo.
También puede ver una lista de combinaciones de teclas disponibles en el modo actual mediante:
M-x which-key-show-top-level
Es útil enlazar which-key-show-top-level
a un acorde clave de su elección, para que pueda ver las claves disponibles desde cualquier lugar.
Por ejemplo, C-s
( isearch-forward
) tiene un mapa de claves extenso que a menudo se desconoce. p.ejM-s o
comienza a occur
usar la cadena de búsqueda actual, no lo sabía durante muchos años usando Emacs. Teniendowhich-key
cerca me ha ayudado a descubrir muchas gemas raras en Emacs.
https://github.com/justbur/emacs-which-key
La tecla de guía funciona de la misma manera que which-key
yo recomendaría echarle un vistazo para comparar funciones.