2012-04-15 12 views
18

メッセージバッファを無効にする方法はありますか?私はそれを殺すことができることを知っているが、それは再び現れる。私はメッセージを渡さずにバッファをスクロールすることができますが、私はそれの作成を無効にする方法がありますか?Emacs disable * Messages * buffer

ありがとうございます。

+5

どのようにバッファを切り替えるのですか?私はあなたがひどく非効率なデフォルトのバッファ切り替えを使用しないことを願っています。 [iswitchb](http://emacswiki.org/emacs/IswitchBuffers)をチェックしてから、任意のバッファに直接行くことができるので、* Messages *を渡す必要はありません。メッセージバッファは有用ですが、elispから有益なメッセージを出力する場合など、それを理解する方法を学ぶでしょう。 – Tom

+3

'* Messages *'を無効にしないでください。それは悪い考えです。あなた(と他のそのようなバッファ)があなたの方法で停止する方法のいくつかの提案については、http://stackoverflow.com/questions/9536186/emacs-lisp-buffer-out-of-focus-functionを参照してください。 – phils

+0

@Tom、iswitchbで切り替えると '* Messages * 'も一致しなくなり、部分文字列のあいまいさが増します。 – katspaugh

答えて

16

あなたは変数message-log-maxをカスタマイズし、ロギングを無効にするにはnilの値を与えることができます:

Maximum number of lines to keep in the message log buffer. 
If nil, disable message logging. If t, log messages but don't truncate 
the buffer when it becomes large. 

Iメッセージ(ミニバッファ上のショー)の製造、*Messages*バッファを殺害しようとした、と新しいメッセージバッファが表示されません。あなたが私に似ている場合は、上記の回答に基づいて

+0

チップに感謝します。今は非常に長い時間の間私を悩ませている。 bw。 – Vincent

+2

答えは実際にはこれを達成する '.emacs'に追加するコードを提供しています –

17

、完全にまたメッセージ

;; Forces the messages to 0, and kills the *Messages* buffer - thus disabling it on startup. 
(setq-default message-log-max nil) 
(kill-buffer "*Messages*") 

を無効にするには、あなたの.emacsでこれを置く、これはあなたがそのな終了バッファを削除する方法ですバッファから新しいファイルを開くときに表示されます。

;; Disabled *Completions* 
(add-hook 'minibuffer-exit-hook 
     '(lambda() 
     (let ((buffer "*Completions*")) 
      (and (get-buffer buffer) 
      (kill-buffer buffer))))) 
+0

スクラッチ、メッセージ、補完を削除したいと思ったら[リンク](http://unix.stackexchange.com/a/152151/72170)も参照してください。全部。 – oles