Como alterar a mensagem padrão do minibuffer?

10

Após o carregamento do arquivo init, recebo esta mensagem no minibuffer:

Para obter informações sobre o GNU Emacs e o sistema GNU, digite Ch Ca.

O que está sendo acionado e como faço para alterá-lo?

caisah
fonte

Respostas:

18

display-startup-echo-area-messageaciona esse pequeno anúncio, a menos que você esteja usando o customize e o tenha definido ou definido no seu user-init-file(porque ele realmente segue em frente e verifica esse arquivo em busca de algo parecido com isso, consulte a definição de display-startup-echo-area-messagepara os detalhes sangrentos).

Existe uma maneira de substituí-lo por algo completamente diferente, simplesmente redefinindo-o na sua configuração do Emacs:

(defun display-startup-echo-area-message ()
  (mensagem "Deixe o hacking começar!"))
wasamasa
fonte
3

Isso está sendo disparado por display-startup-echo-area-message, que é chamado no momento da inicialização.

Esta mensagem em particular é intencionalmente difícil de remover (acho que porque o projeto GNU sente que eles precisam do anúncio). Você ainda pode desativá-lo personalizando inhibit-startup-echo-area-message:

M-x customize-variable inhibit-startup-echo-area-message RET
Sigma
fonte
Desculpe, mas eu sou o único que tentou esta dica sem ver nenhuma alteração?
Nsukami _
FYI: ficou intencionalmente difícil para o caso em que o Emacs é instalado por um administrador de sistemas em uma máquina compartilhada por muitos usuários, portanto, o administrador de sistemas não pode simplesmente definir a mensagem inibit-startup-echo-area-message para t globalmente. É provavelmente um caso de uso relativamente raro atualmente.
Stefan
2

O texto de ajuda para os inhibit-startup-echo-area-messageestados:

Um valor nulo inibe a mensagem inicial da área de eco de inicialização. A configuração dessa variável entra em vigor apenas se você fizer isso com o buffer de personalização ou se o seu arquivo init contiver uma linha deste formulário:

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

Se o seu arquivo init for compilado em bytes, use o seguinte formulário:

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

Se você usa uma configuração do Emacs compartilhada entre máquinas (por exemplo, através do controle de versão) e não pode digitar seu nome de usuário explicitamente, pode usar:

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

... conforme orientação da lista de discussão de bugs . Isso define a saved-valuepropriedade na variável inhibit-startup-echo-area-messageantes de defini-la como seu nome de login, que contorna o recurso de segurança pretendido (de deixar um usuário sem instruções para obter ajuda se ele copiar e colar o código init).

detly
fonte