2012-02-27 7 views
12

Tengo el siguiente código en .emacs: (global-set-key (kbd "M-x g") 'gnus) para iniciar Gnus con la combinación de teclas M-x g. Obtengo: error: Key sequence M-x g starts with non-prefix key M-x. ¿Cómo puedo definir combinaciones de teclas comenzando con M-x? ¿Es esto algo malo que hacer y debería evitarse? Lo encuentro más intuitivo ya que la "versión larga" es M-x gnus. Definiéndola como C-c g, por ejemplo, no es ningún problema, pero entonces se inicia Gnus con C-c g y, por ejemplo, R a través de M-x R que no es muy intuitiva (en contraste a partir tanto a través de M-x + 1 lettererror de emacs: la secuencia de teclas M-x g comienza con la tecla sin prefijo M-x

Respuesta

18

La clave Mx ya está obligado a el comando execute-extended-command, que luego se le pide que proporcione el nombre de un comando a ejecutar (en el que caso: gnus).

Desde R es un comando sólo un carácter de longitud, parece que Mx R es una clave secuencia, pero no es: es Mx seguido de ingresar R en el minibúfer y debe pulsar RET para validar su entrada.

En resumen:

  • no se puede establecer secuencias de teclas que comienzan con Mx desde esta clave ya está enlazado a un comando y por lo tanto no es un prefijo (a diferencia de Cc, que no hace más que esperar para que escriba otra clave, pero debe reservarse para enlaces específicos de los modos actuales).
  • la forma habitual de hacer las cosas sería continuar a partir ñus utilizando Mx ñus o volver a enlazar con una clave totalmente diferente si tiene que ser muy rápido (se puede utilizar, por ejemplo uno de los F1 - F12 teclas)
  • si realmente quieren tener una carta Mx + de unión, se puede definir un alias de una letra al comando gnus, así:
(defalias 'g 'gnus) 
+0

explicación muy detallada, muchas gracias, Francesco. –

+0

La cuarta opción sería borrar Mx y convertirla en una clave de prefijo: http://stackoverflow.com/questions/1024374/how-can-i-make-cp-an-emacs-prefix-key-for-develperlysense (Sin embargo, Mx es una clave de emacs tan importante que en este caso probablemente sea una mala idea). – idbrii

Cuestiones relacionadas