2011-01-11 64 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) 

,使其滾動到第一個錯誤。