Utilizo use-package
para administrar paquetes instalados y bind-key
para asignar acciones a claves personalizadas que me gustan.
Anulo la mayoría de las combinaciones de teclas predeterminadas de Emacs (por ejemplo , se C-nconvierte M-k, se C-pconvierte M-i), pero estoy de acuerdo con que otros modos anulen mi esquema de combinación de teclas. Sin embargo, a veces quiero que mi combinación de teclas persista. Quiero M-kdecir algo más que, por defecto, Gnus o Helm.
Sin embargo, todos entran en conflicto entre sí en el inicio de Emacs, porque no puedo agregar un enlace a un mapa de teclas, si no existe (porque a use-package
veces difiere la carga de un paquete). Por ejemplo, los siguientes comandos arrojan errores (por ejemplo (void-variable helm-map)
), porque Helm y Gnus aún no están completamente cargados.
(bind-key "M-Y" 'helm-end-of-buffer helm-map)
(bind-key "M-k" 'helm-next-line helm-find-files-map)
(bind-key "M-s" 'other-window gnus-summary-mode-map)
Tengo todas mis use-package
invocaciones en un archivo y las bind-key
combinaciones de teclas personalizadas en otro archivo. No quiero poner enlaces en las use-package
llamadas, porque tal vez quiero publicar mi esquema de combinación de teclas personalizado como un paquete independiente. ¿Qué sucede si quiero que alguien que instale mi esquema también tenga anuladas las combinaciones de teclas locales de Helm y Gnus?
¿Cómo administro las combinaciones de teclas locales de modo usando bind-key
, de modo que todas las teclas se configuren incluso si los paquetes se han cargado últimamente, y todas las configuraciones de teclas están dentro de un archivo?
fuente
Como ya está utilizando bind-key, directamente desde la documentación de
bind-key.el
:El último formulario se desglosa si el mapa de teclas no está definido actualmente porque la definición del archivo
some-other-mode-map
aún no se ha cargado. Entonces podría poner esto enuse-package
forsome-other-mode
(la definición del paquetesome-other-mode-map
), o usarwith-eval-after-load
:Otra alternativa sería definir su propio modo menor que contenga todos los enlaces que no deberían ser anulados por los modos principales:
fuente