Bagaimana cara mengubah pesan minibuffer default?

10

Setelah file init selesai memuat, saya menerima pesan ini di minibuffer:

Untuk informasi tentang GNU Emacs dan sistem GNU, ketik Ch Ca.

Apa yang dipicu dan bagaimana cara mengubahnya?

caisah
sumber

Jawaban:

18

display-startup-echo-area-messagememicu iklan kecil ini kecuali jika Anda menggunakan penyesuaian dan telah mengaturnya di sana atau membuatnya diatur di Anda user-init-file(karena itu benar-benar berjalan di depan dan memindai file ini untuk sesuatu yang tampak seperti itu, lihat definisi display-startup-echo-area-messageuntuk detail berdarah).

Ada cara untuk menggantinya dengan sesuatu yang sama sekali berbeda, hanya dengan mendefinisikan ulang di konfigurasi Emacs Anda:

(menolak tampilan-startup-echo-area-message ()
  (pesan "Biarkan peretasan dimulai!"))
wasamasa
sumber
3

Ini sedang dipicu oleh display-startup-echo-area-message, yang dipanggil pada saat startup.

Pesan khusus ini sengaja dibuat sulit untuk dihapus (saya kira karena proyek GNU merasa mereka perlu iklan). Anda masih dapat menonaktifkannya dengan menyesuaikan inhibit-startup-echo-area-message:

M-x customize-variable inhibit-startup-echo-area-message RET
Sigma
sumber
Maaf tetapi, apakah saya satu-satunya yang mencoba kiat ini tanpa melihat perubahan?
Nsukami _
FYI: sengaja dibuat sulit untuk kasus di mana Emacs dipasang oleh sysadmin pada mesin yang dibagikan oleh banyak pengguna, sehingga sysadmin tidak bisa begitu saja mengatur inhibit-startup-echo-area-message untuk t secara global. Ini mungkin kasus penggunaan yang relatif jarang saat ini.
Stefan
2

Teks Bantuan untuk inhibit-startup-echo-area-messagestatus:

Non-nil menghambat pesan area echo startup awal. Menetapkan variabel ini berlaku hanya jika Anda melakukannya dengan buffer kustomisasi atau jika file init Anda berisi baris formulir ini:

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

Jika file init Anda dikompilasi dengan byte, gunakan formulir berikut sebagai gantinya:

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

Jika Anda menggunakan konfigurasi Emacs yang dibagikan di antara mesin (mis. Melalui kontrol versi) dan tidak dapat memasukkan nama pengguna Anda secara eksplisit, Anda dapat menggunakan:

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

... sesuai saran dari milis bug . Ini mengatur saved-valueproperti pada variabel inhibit-startup-echo-area-messagesebelum menyetelnya ke nama login Anda, yang menghindari fitur keamanan yang dimaksud (meninggalkan pengguna tanpa instruksi untuk mendapatkan bantuan jika mereka menyalin dan menempelkan kode init).

detly
sumber