Як змінити повідомлення про мінібуфер за замовчуванням?


10

Після завантаження файлу init я отримую це повідомлення у minibuffer:

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

Що це викликає і як це змінити?

Відповіді:


18

display-startup-echo-area-messageзапускає цю маленьку рекламу, якщо ви не використовуєте налаштування та не встановили її там (чи вона встановлена ​​у вашому user-init-file(оскільки вона насправді продовжує роботу та сканує цей файл на щось подібне, див. визначення деталей display-startup-echo-area-messageдля gory).

Існує спосіб замінити його чимось зовсім іншим, просто переробивши його у своїй конфігурації Emacs:

(розмикання дисплея-запуску-ехо-області-повідомлення ()
  (повідомлення "Нехай хакер починається!"))

3

Це ініціюється тим display-startup-echo-area-message, що викликає час запуску.

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

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

Вибачте, але я єдиний, хто спробував цю пораду, не побачивши жодних змін?
Nsukami _

FYI: навмисно було ускладнено випадок, коли Emacs встановлюється системою адміністратора на машині, якою поділяються багато користувачів, тому sysadmin не може просто встановити "inhibit-startup-echo-area-message" в глобальному масштабі. Це, мабуть, порівняно рідкісний випадок використання на сьогодні.
Стефан

2

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

Non-nil пригнічує початкове повідомлення про область відлуння під час запуску. Встановлення цієї змінної набуває чинності лише в тому випадку, якщо ви робите це з буфером налаштування або якщо ваш файл init містить рядок такої форми:

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

Якщо ваш файл init компілюється у байті, скористайтеся такою формою:

(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перед тим, як встановити її для вашого імені для входу, що обходить бажану функцію безпеки (не залишаючи користувачеві ніяких інструкцій для отримання допомоги, якщо він копіює та вставляє код init).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.