¿Cómo cambiar el mensaje predeterminado del minibúfer?


10

Después de que el archivo init haya terminado de cargar, recibo este mensaje en el minibúfer:

Para obtener información sobre GNU Emacs y el sistema GNU, escriba Ch Ca.

¿Por qué se activa y cómo lo cambio?

Respuestas:


18

display-startup-echo-area-messageactiva este pequeño anuncio a menos que esté usando personalizar y lo haya configurado allí o lo haya configurado en su user-init-file(porque en realidad sigue adelante y escanea este archivo en busca de algo así, vea la definición de display-startup-echo-area-messagelos detalles sangrientos).

Sin embargo, hay una manera de reemplazarlo con algo completamente diferente, simplemente redefiniéndolo en su configuración de Emacs:

(defun display-startup-echo-area-message ()
  (mensaje "¡Que comience la piratería!"))

3

Esto se desencadena por display-startup-echo-area-message, que se llama en el momento del inicio.

Este mensaje en particular se hace intencionalmente difícil de eliminar (supongo que porque el proyecto GNU siente que necesitan el anuncio). Todavía puede deshabilitarlo personalizando inhibit-startup-echo-area-message:

M-x customize-variable inhibit-startup-echo-area-message RET

Lo siento, pero ¿soy el único que probó este consejo sin ver ningún cambio?
Nsukami _

FYI: se hizo intencionalmente difícil para el caso en que Emacs es instalado por un administrador del sistema en una máquina compartida por muchos usuarios, por lo que el administrador del sistema no puede simplemente configurar inhibit-startup-echo-area-message en t globalmente. Probablemente es un caso de uso relativamente raro hoy en día.
Stefan

2

El texto de ayuda para los inhibit-startup-echo-area-messageestados:

No nulo inhibe el mensaje inicial del área de eco de inicio. Establecer esta variable solo tiene efecto si lo hace con el búfer de personalización o si su archivo init contiene una línea de esta forma:

(setq inhibit-startup-echo-area-message "YOUR-USER-NAME")

Si su archivo init está compilado por bytes, utilice el siguiente formulario:

(eval '(setq inhibit-startup-echo-area-message "YOUR-USER-NAME"))

1

Si usa una configuración de Emacs compartida entre máquinas (por ejemplo, a través del control de versiones) y no puede ingresar su nombre de usuario explícitamente, puede usar:

(put 'inhibit-startup-echo-area-message 'saved-value t)
(setq inhibit-startup-echo-area-message (user-login-name))

... según los consejos de la lista de correo de errores . Esto establece la saved-valuepropiedad en la variable inhibit-startup-echo-area-messageantes de establecerla en su nombre de inicio de sesión, lo que evita la función de seguridad prevista (de dejar a un usuario sin instrucciones para obtener ayuda si copia y pega el código de inicio).

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.