Wie ändere ich die Standard-Minibuffer-Nachricht?

10

Nachdem die Init-Datei geladen wurde, erhalte ich folgende Meldung im Minibuffer:

Für Informationen über GNU Emacs und das GNU-System geben Sie Ch Ca ein.

Wodurch wird es ausgelöst und wie ändere ich es?

Caisah
quelle

Antworten:

18

display-startup-echo-area-messageLöst diese kleine Werbung aus, es sei denn, Sie verwenden "Anpassen" und haben sie dort oder in Ihrer festgelegt user-init-file(da diese Datei tatsächlich nach etwas aussieht, display-startup-echo-area-messagedas so aussieht , siehe die Definition von für die blutigen Details).

Es gibt jedoch eine Möglichkeit, es durch etwas völlig anderes zu ersetzen, indem Sie es einfach in Ihrer Emacs-Konfiguration neu definieren:

(Anzeige-Start-Echo-Bereichsnachricht deaktivieren ()
  (Nachricht "Lass das Hacken beginnen!"))
Wasamasa
quelle
3

Dies wird ausgelöst durch display-startup-echo-area-message, was beim Start aufgerufen wird.

Diese bestimmte Nachricht ist absichtlich schwer zu entfernen (ich denke, weil das GNU-Projekt der Meinung ist, dass sie die Werbung brauchen). Sie können es weiterhin deaktivieren, indem Sie Folgendes anpassen inhibit-startup-echo-area-message:

M-x customize-variable inhibit-startup-echo-area-message RET
Sigma
quelle
Entschuldigung, aber bin ich der einzige, der diesen Tipp ausprobiert hat, ohne Änderungen zu sehen?
Nsukami
Zu Ihrer Information: Es wurde absichtlich erschwert für den Fall, dass Emacs von einem Systemadministrator auf einem Computer installiert wird, der von vielen Benutzern gemeinsam genutzt wird. Daher kann der Systemadministrator die Nachricht "Sperren-Starten-Echo-Bereich" nicht einfach global auf t setzen. Es ist heutzutage wahrscheinlich ein relativ seltener Anwendungsfall.
Stefan
2

Der Hilfetext für inhibit-startup-echo-area-messageStaaten:

Nicht-Null sperrt die anfängliche Startecho-Bereichsmeldung. Das Festlegen dieser Variablen wird nur wirksam, wenn Sie dies mit dem Anpassungspuffer tun oder wenn Ihre Init-Datei eine Zeile dieses Formulars enthält:

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

Wenn Ihre Init-Datei bytekompiliert ist, verwenden Sie stattdessen das folgende Formular:

(eval '(setq inhibit-startup-echo-area-message "YOUR-USER-NAME"))
Colin Bell
quelle
1

Wenn Sie eine Emacs-Konfiguration verwenden, die von Computern gemeinsam genutzt wird (z. B. durch Versionskontrolle) und Ihren Benutzernamen nicht explizit eingeben können, können Sie Folgendes verwenden:

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

... gemäß den Ratschlägen aus der Bug-Mailingliste . Dadurch wird die saved-valueEigenschaft für die Variable festgelegt, inhibit-startup-echo-area-messagebevor sie auf Ihren Anmeldenamen festgelegt wird, wodurch die beabsichtigte Sicherheitsfunktion umgangen wird (ein Benutzer hat keine Anweisungen, um Hilfe zu erhalten, wenn er Init-Code kopiert und einfügt).

detly
quelle