Как изменить стандартное сообщение минибуфера?

10

После загрузки файла инициализации я получаю следующее сообщение в минибуфере:

Для получения информации о GNU Emacs и системе GNU введите Ch Ca.

Чем это вызвано и как мне это изменить?

caisah
источник

Ответы:

18

display-startup-echo-area-messageзапускает эту небольшую рекламу, если вы не используете настройку и не установили ее там или не установили в своей user-init-file(потому что она действительно идет вперед и сканирует этот файл на предмет чего-то похожего, см. определение display-startup-echo-area-messageподробностей).

Есть способ заменить его чем-то совершенно другим, просто переопределив его в вашей конфигурации Emacs:

(defun display-startup-echo-area-message ()
  (сообщение «Пусть взлом начнется!»))
wasamasa
источник
3

Это вызвано тем display-startup-echo-area-message, что вызывается во время запуска.

Это конкретное сообщение сделано намеренно трудным для удаления (я думаю, потому что проект GNU чувствует, что им нужна реклама). Вы все еще можете отключить его, настроив inhibit-startup-echo-area-message:

M-x customize-variable inhibit-startup-echo-area-message RET
Сигма
источник
Извините, но я единственный, кто попробовал этот совет, не увидев никаких изменений?
Нсуками _
К вашему сведению: это было сделано преднамеренно затруднительно для случая, когда Emacs установлен системным администратором на машине, которой пользуются многие пользователи, поэтому системный администратор не может просто установить глобальное запрещение-startup-echo-area-message. Это, вероятно, относительно редкий случай использования в наше время.
Стефан,
2

Текст справки для inhibit-startup-echo-area-messageсостояний:

Не ноль запрещает начальное сообщение области эха запуска. Установка этой переменной вступает в силу, только если вы делаете это с буфером настройки или если ваш файл инициализации содержит строку этой формы:

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

Если ваш файл инициализации скомпилирован байтово, используйте следующую форму:

(eval '(setq inhibit-startup-echo-area-message "YOUR-USER-NAME"))
Колин Белл
источник
1

Если вы используете конфигурацию Emacs, совместно используемую между компьютерами (например, с помощью контроля версий) и не можете явно ввести свое имя пользователя, вы можете использовать:

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

... согласно совету из списка рассылки об ошибках . Это устанавливает saved-valueсвойство переменной inhibit-startup-echo-area-messageперед установкой его в качестве имени для входа в систему, что обходит предполагаемую функцию безопасности (оставляя пользователя без инструкций для получения помощи, если он копирует и вставляет код инициализации).

detly
источник