Si conozco el nombre de un comando de emacs, dice "goto-line"; ¿Qué pasa si quiero consultar si hay alguna secuencia de teclas vinculada a este comando?
Y viceversa, dada una secuencia de teclas, ¿cómo puedo encontrar su nombre de comando?
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 hacerC-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 aM-x where-is
.C-h k
es equivalente aM-x describe-key
.C-h f
es equivalente aM-x describe-function
.C-h v
es equivalente aM-x describe-variable
.C-h ?
es equivalente aM-x help-for-help
. También tenga en cuenta quef1
se puede utilizar en lugar deC-h
.C-h w
(oF1-w
):where-is
RET algún nombre de comando RETHace exactamente lo que está pidiendo: enumera las claves vinculadas sin información adicional. :)
fuente
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
olookup-key
que toma una secuencia de teclas y devuelve su comando vinculado. La funciónkey-binding
es lo queC-h k
usa.devuelve el comando vinculado al
C-h m
buscar en todos los mapas de teclas actuales. La funciónlookup-key
busca en un solo mapa de teclas: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 eninternal
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 dewhere-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
) essubstitute-command-keys
(por ejemplo,(substitute-command-keys "\\[forward-char]")
). Eso es especialmente útil en textos más extensos.fuente
where-is-internal
sugiere que está bien usarlo. Además, usamos convencionalmente un formato comowhere-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 )
Cual llave
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 aoccur
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
Llave de guía
La tecla de guía funciona de la misma manera que
which-key
yo recomendaría echarle un vistazo para comparar funciones.https://github.com/kai2nenobu/guide-key
fuente