Por diseño, fundamental-mode
es básico, ya que se supone que otros modos principales derivan de este.
Desde la página de información (elisp) Major Modes
, tenemos:
Este es el comando de modo principal para el modo Fundamental. A diferencia de otros comandos de modo, no ejecuta ningún enlace de modo (* nota Convenciones de modo mayor: :), ya que se supone que no debe personalizar este modo.
Por esta razón,
- No tenemos a
fundamental-mode-hook
. - Además
my-minor-mode
, no se habilita SOLO en este modo principal, los búferes a pesar de tener(global-my-minor-mode 1)
en mi configuración.
A continuación funcionaría, pero solo si escribí manualmente M-x fundamental-mode
:
(add-hook 'after-change-major-mode-hook #'my-minor-mode)
No ayuda en el siguiente caso donde fundamental-mode
se crea un búfer (* abcd *) por defecto:
(with-current-buffer (get-buffer-create "*abcd*")
(insert "Hello world"))
¿Por qué quiero habilitar un modo menor en fundamental-mode
?
Me gusta mantener mis combinaciones de teclas personalizadas en mi mapa de modo menor. Tengo este modo menor habilitado globalmente (pero no se habilita solo en fundamental-mode
buffers).
Aquí hay un caso de uso que hizo que haga esta pregunta aquí. Al hacer M-x esup
( esup
paquete), crea un *esup-log*
búfer con fundamental-mode
su modo principal. Pero cada vez que necesito habilitar mi modo menor manualmente para usar mis enlaces convenientes.
Me gustaría habilitarlo my-minor-mode
de una manera verdaderamente global, fundamental-mode
o no.
Actualización 1:
Aquí está mi definición de menor importancia modo: modi-mode
.
Actualización 2:
Basado en el comentario de @npostavs , revisé las diferencias entre mi modo menor modi-mode
y override-global-mode
en use-package/bind-key.el
. Y resulta que el valor de inicio de mi modo es nil
y el de override-global-mode
es t
.
Si cambio el valor de inicio de mi modo a t
, ¡también se habilita en los búferes de modo fundamental! Pero el acto de (global-modi-mode 1)
no termina con el mismo resultado. ¿Eso es extraño? ¿Probablemente un error?
use-package
implementa eso.
nil
; pero lo habilito globalmente.
buffer.c
, parece que se get-buffer-create
ejecuta buffer-list-update-hook
al final de su función, ¿tal vez podría adjuntar su propia función con condiciones a ese gancho?
fundamental-mode
búferes para mí, por lo que tal vez el problema esté en la definición de su modo.override-global-mode