2011-01-11 34 views
26

偶尔,当我编译时,我不得不向上滚动我的编译缓冲区以查看错误的详细信息。此时,emacs停止“跟随”我的编译缓冲区,即滚动以自动显示新的输出。我该如何鼓励emacs遵循编译缓冲区

我在OS X上使用Aqumacs。任何想法如何“重新附加”或重新鼓励编译缓冲区再次跟进?

的问候, 克里斯

回答

6

我不知道aquamacs但对我来说(Emacs的23/Debian的),我刚进去的编辑窗口,并把我的光标在窗口的结束,这将附上,并按照(你可以去另一个窗口,它会继续)。

+2

这可以自动生成吗?我讨厌它,当今天快速的计算机填满我的编译缓冲区太快,我不能在最后设置光标;-) – thoni56 2012-10-02 21:40:42

+0

@Thomas,你可以用一个命令结束:`M->`。无论滚动输出的速度如何,这都可以工作。但请参阅@ thohr关于如何自动滚动的答案。 – 2013-02-08 18:55:11

6

尝试使用M-X自动复归尾模式M-X自动复归模式。从official documentation摘自:

自动还原模式的

的一个用途是 “尾巴”的文件,如系统日志,所以 通过其他 程序对该文件作出的改变不断 显示。为此,只需将 点移动到缓冲区的末尾,并且 将保留在文件内容 更改。但是,如果您确定 文件最终只会通过增加 而更改,请使用自动还原尾模式 代替(自动还原尾模式)。这是更高效的 。自动还原 尾部模式也适用于远程文件。

因此,正如Chmouel已经指出的那样,只是移动点到缓冲区的末端也会起作​​用。

+2

将光标移动到文件的末尾似乎有效。 auto-revert-tail-mode会抱怨“这个缓冲区不是文件”;所以也许它只适用于文件,不适用于编译输出? – clearf 2011-01-11 22:39:25

51

放到你的〜/ .emacs文件

;; Compilation output 
    (setq compilation-scroll-output t) 

甚至

(setq compilation-scroll-output 'first-error) 

,使其滚动到第一个错误。