如何鼓励emacs遵循编译缓冲区

cle*_*arf 34 emacs

偶尔在我编译时,我必须向上滚动编译缓冲区以查看错误的详细信息.此时,emacs停止"跟随"我的编译缓冲区,即滚动以自动显示新输出.

我在OS X上使用Aqumacs.我知道如何"重新连接"或重新鼓励编译缓冲区再次关注?

问候,克里斯

小智 68

输入〜/ .emacs文件

  ;; Compilation output
  (setq compilation-scroll-output t)
Run Code Online (Sandbox Code Playgroud)

甚至

  (setq compilation-scroll-output 'first-error)
Run Code Online (Sandbox Code Playgroud)

使其滚动到第一个错误.

  • 更好的是:`(setq compilation-scroll-output'first-error)` (20认同)

Chm*_*nah 6

我不确定aquamacs但对我来说(Emacs 23/Debian)我只是进入编辑窗口并将光标放在窗口的末尾,它将附加并跟随(你可以转到另一个窗口,它仍然会跟着) .

  • 这可以自动生成吗?我很讨厌当今天的快速计算机如此快地填满我的编译缓冲区以至于我无法在最后设置光标;-) (3认同)

dar*_*ioo 6

尝试使用M-x auto-revert-tail-modeM-x auto-revert-mode.摘自官方文件:

自动恢复模式的一个用途是"拖尾"诸如系统日志之类的文件,以便连续显示由其他程序对该文件所做的更改.要执行此操作,只需将该点移动到缓冲区的末尾,它将在文件内容更改时保留在那里.但是,如果您确定文件只会在最后增长时更改,请改用自动恢复尾部模式(auto-revert-tail-mode).对此更有效.自动还原尾部模式也适用于远程文件.

因此,正如Chmouel已经指出的那样,只需将缓冲点移动到缓冲区的末尾即可.

  • 将光标移动到文件末尾似乎有效.auto-revert-tail-mode抱怨"这个缓冲区不是文件"; 所以也许它只适用于文件,而不适用于编译输出? (3认同)