Come modificare il messaggio predefinito del minibuffer?


10

Dopo il caricamento del file init, visualizzo questo messaggio nel minibuffer:

Per informazioni su GNU Emacs e sul sistema GNU, digitare Ch Ca.

Da cosa viene attivato e come posso cambiarlo?

Risposte:


18

display-startup-echo-area-messageattiva questa piccola pubblicità a meno che tu non stia usando personalizza e non l'abbia impostato lì o sia impostato nel tuo user-init-file(perché in realtà va avanti e scansiona questo file per qualcosa del genere, vedi la definizione di display-startup-echo-area-messageper i dettagli cruenti).

C'è un modo per sostituirlo con qualcosa di completamente diverso, semplicemente ridefinendolo nella configurazione di Emacs:

(defun display-startup-echo-area-message ()
  (messaggio "Che l'hacking abbia inizio!"))

3

Questo viene attivato da display-startup-echo-area-message, che viene chiamato al momento dell'avvio.

Questo particolare messaggio è reso intenzionalmente difficile da rimuovere (immagino perché il progetto GNU ritiene di aver bisogno della pubblicità). Puoi ancora disabilitarlo personalizzando inhibit-startup-echo-area-message:

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

Scusa ma sono l'unico che ha provato questo suggerimento senza vedere alcun cambiamento?
Nsukami _

Cordiali saluti: è stato reso intenzionalmente difficile nel caso in cui Emacs sia installato da un amministratore di sistema su una macchina condivisa da molti utenti, quindi l'amministratore di sistema non può semplicemente impostare il messaggio di inibizione-avvio-area-eco-area su t a livello globale. Al giorno d'oggi è probabilmente un caso d'uso relativamente raro.
Stefan,

2

Il testo di aiuto per gli inhibit-startup-echo-area-messagestati:

Il valore non nullo inibisce il messaggio dell'area di eco iniziale iniziale. L'impostazione di questa variabile ha effetto solo se lo si fa con il buffer di personalizzazione o se il file init contiene una riga di questo modulo:

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

Se il file init è compilato in byte, utilizzare invece il modulo seguente:

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

1

Se si utilizza una configurazione Emacs condivisa tra macchine (ad es. Tramite il controllo versione) e non è possibile immettere il nome utente in modo esplicito, è possibile utilizzare:

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

... secondo i consigli della mailing list dei bug . Questo imposta la saved-valueproprietà sulla variabile inhibit-startup-echo-area-messageprima di impostarla sul nome di accesso, che elude la funzionalità di sicurezza prevista (di lasciare un utente senza istruzioni per ottenere aiuto se copia e incolla il codice di inizializzazione).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.