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-mapcon 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-ha otra cosa en sus gestores de ventanas:C-h wes equivalente aM-x where-is.C-h kes equivalente aM-x describe-key.C-h fes equivalente aM-x describe-function.C-h ves equivalente aM-x describe-variable.C-h ?es equivalente aM-x help-for-help. También tenga en cuenta quef1se puede utilizar en lugar deC-h.C-h w(oF1-w):where-isRET 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-bindingolookup-keyque toma una secuencia de teclas y devuelve su comando vinculado. La funciónkey-bindinges lo queC-h kusa.devuelve el comando vinculado al
C-h mbuscar en todos los mapas de teclas actuales. La funciónlookup-keybusca en un solo mapa de teclas:Para obtener programáticamente todas las secuencias de teclas vinculadas a un comando dado,
where-is-internalprobablemente sea la función a usar. El nombre de la función que termina eninternalparece 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-internaldebe 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-internalsugiere que está bien usarlo. Además, usamos convencionalmente un formato comowhere-is--internal(observe el guión doble) para funciones “privadas”.-internalse 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-bindingsEnumera todos los enlaces disponibles actualmente, use isearch, ocurre, etc. para hacer un buen uso de esta lista.
M-x describe-prefix-mapEsto 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-modeAdemás de brindarle información general sobre el modo actual, también enumerará todas las combinaciones de teclas disponibles.
M-x describe-minor-modeSe 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-xoC-cy 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-levelEs útil enlazar
which-key-show-top-levela 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 ocomienza aoccurusar la cadena de búsqueda actual, no lo sabía durante muchos años usando Emacs. Teniendowhich-keycerca 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-keyyo recomendaría echarle un vistazo para comparar funciones.https://github.com/kai2nenobu/guide-key
fuente