デフォルトのミニバッファメッセージを変更する方法


10

initファイルの読み込みが完了すると、ミニバッファーに次のメッセージが表示されます。

GNU EmacsとGNUシステムについては、「Ch Ca」と入力してください。

それは何によってトリガーされ、どのように変更しますか?

回答:


18

display-startup-echo-area-messageカスタマイズを使用して設定していないか、設定している場合を除いて、この小さな広告をトリガーしますuser-init-file(実際にこのファイルをスキャンして、このようなものを探しますdisplay-startup-echo-area-message。詳細については、定義を参照してください)。

Emacsの構成で再定義するだけで、完全に異なるものに置き換える方法があります。

(defun display-startup-echo-area-message()
  (メッセージ「ハッキングを始めましょう!」)

3

これはdisplay-startup-echo-area-message、起動時に呼び出されるによってトリガーされます。

この特定のメッセージは、意図的に削除するのが難しくなっています(おそらく、GNUプロジェクトでは広告が必要だと感じているためです)。あなたはまだカスタマイズすることによってそれを無効にすることができinhibit-startup-echo-area-messageます:

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

申し訳ありませんが、変更を確認せずにこのヒントを試したのは私だけですか?
Nsukami _ 2014

参考:多くのユーザーが共有するマシンにsysadminがEmacsをインストールする場合は、意図的に難しくなったため、sysadminはprevent-startup-echo-area-messageをグローバルに設定するだけではできません。今日ではおそらく比較的まれなユースケースです。
Stefan

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コードをコピーして貼り付けるとヘルプを取得するための指示がなくなる)が回避されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.