在emacs中,我可以设置*Messages*缓冲区以便尾巴吗?

Che*_*eso 15 emacs

基本上我希望*Messages *缓冲区在新消息到达时始终滚动到底部.

我能这样做吗?

我发现auto-revert-tail-mode但这适用于访问文件的缓冲区.当我在Messages缓冲区中尝试它时,它弹出一个错误:
auto-revert-tail-mode: This buffer is not visiting a file

小智 9

对于您可能想要的多个帧:

(defadvice message (after message-tail activate)
  "goto point max after a message"
  (with-current-buffer "*Messages*"
    (goto-char (point-max))
    (walk-windows (lambda (window)
                    (if (string-equal (buffer-name (window-buffer window)) "*Messages*")
                        (set-window-point window (point-max))))
                  nil
                  t)))
Run Code Online (Sandbox Code Playgroud)


Dre*_*rew 5

只需将 point 放在缓冲区的末尾M->。如果你不手动移动它,它会留在那里——IOW,你总是会看到尾巴。

  • 很确定这不是真的……它肯定不适用于我周围的任何 emacs。 (3认同)
  • @Drew,我们在这里讨论的是当活动窗口显示除 \*Messages\* 缓冲区之外的缓冲区,但 \*Messages\* 缓冲区在另一个窗口中可见时会发生什么情况。在这种情况下,\*Messages\* 缓冲区的最大缓冲区位置可能不可见,即使您可能在 \*Messages\* 中保留了当时最大缓冲区位置的点。 (2认同)