¿Cómo hacer que emacs salga del minibúfer con solo presionar ESC?

¿Cómo hacer que emacs salga del minibúfer con solo presionar ESC?

A menudo presiono la combinación incorrecta de teclas y abro algún modo de minibúfer oscuro. Tengo que presionar ESC tres veces (creo), lo cual es bastante molesto. ¿Cómo hago para que emacs salga del minibúfer con solo presionar ESC?

Respuesta1

Gracias por todas tus ideas. Parece que esto debería funcionar:

(define-key minibuffer-local-map (kbd "ESC") 'keyboard-escape-quit)

Sólo funcionó para isearch. Parece que tendría que volver a vincularlo para cada función (smex, ibufer y todas aquellas que usan el minibúfer).

Respuesta2

Creo queergoemacsutiliza la ESCclave de la manera que desee. También cambia muchas otras combinaciones de teclas de Emacs, pero probablemente de manera que concuerden con su deseo de "evitar pulsaciones prolongadas de teclas de Emacsy".

[Advertencia: No soy un experto en ergoemacs y lo hago.noRecomiendo usarlo ESCde esa manera. ESCtiene un papel particular en Emacs con el Metamodificador y los mapas de teclas, y tratarlo de otra manera es buscar problemas tarde o temprano. (De manera similar, C-ges fundamental para Emacs e incluso está codificado en algunos casos, por lo que no es 100% reemplazable por otra clave).]

Respuesta3

Normalmente uso la siguiente combinación de teclas: Ctrl- X(ingrese al modo comando) K(Matar), luego Enter.

Esto debería matar el minibúfer actual.

Respuesta4

Lo que probablemente quieras es usarlo minibuffer-setup-hookpara vincular ESC en el mapa local de cada minibúfer.

(add-hook 'minibuffer-setup-hook (lambda ()
    (local-set-key (kbd "ESC") 'abort-minibuffers))

Dado que esto utiliza el mapa de teclas local para cada minibúfer, no es necesario volver a vincularlo para el mapa de teclas de cada comando; el mapa local generalmente tendrá prioridad sobre cualquier cosa que esté haciendo ese comando del minibúfer.

información relacionada