Emacs禁用*消息*缓冲区

Emacs禁用*消息*缓冲区,emacs,Emacs,有没有办法禁用消息缓冲区?我知道我可以杀了它,但它又出现了。我知道我可以在缓冲区中滚动而无需传递消息,但有没有一种方法可以禁用它的创建 谢谢。您可以自定义变量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 buff

有没有办法禁用消息缓冲区?我知道我可以杀了它,但它又出现了。我知道我可以在缓冲区中滚动而无需传递消息,但有没有一种方法可以禁用它的创建


谢谢。

您可以自定义变量
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.

我试图杀死
*Messages*
缓冲区,生成消息(显示在minibuffer上),但没有出现新的消息缓冲区。

根据上面的答案,将其放在.emacs中以完全禁用消息

另外,如果您和我一样,这就是如何删除从缓冲区打开新文件时出现的完成缓冲区

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

如何切换缓冲区?我希望您不要使用效率极低的默认缓冲区切换。签出后,您可以直接转到任何缓冲区,这样您就不必传递消息。消息缓冲区很有用,顺便说一下,您将学会欣赏它,例如,当您从elisp打印信息性消息时。不要禁用
*消息*
;这是个坏主意。有关阻止它(以及其他此类缓冲区)妨碍您的方法的建议,请参阅。@Tom,
*Messages*
在您使用iswitchb切换时是否也会匹配,从而增加子字符串的模糊性?@katspaugg如果您想使用变量iswitchb buffer ignore,您可以过滤掉消息谢谢您的提示。这已经困扰了我很长时间了。下面的bw.answer实际上提供了要添加到
.emacs
的代码,该代码实现了这一点。如果您想完全删除划痕、消息和补全,请参见。我可以为
*划痕
也这样做吗@请查看上面评论中的链接@alper
;; Disabled *Completions*
(add-hook 'minibuffer-exit-hook 
      '(lambda ()
         (let ((buffer "*Completions*"))
           (and (get-buffer buffer)
            (kill-buffer buffer)))))