【问题标题】:How do I encourage emacs to follow the compilation buffer如何鼓励 emacs 遵循编译缓冲区
【发布时间】:2011-01-11 11:32:39
【问题描述】:

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

我在 OS X 上使用 Aqumacs。知道如何“重新附加”或重新鼓励编译缓冲区再次跟随吗?

问候, 克里斯

【问题讨论】:

    标签: emacs


    【解决方案1】:

    放入你的 ~/.emacs 文件

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

    甚至

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

    使其滚动到第一个错误。

    【讨论】:

    • 这对我来说非常有效——想知道“错误”的语法是什么,所以我可以制作调试输出来模仿它。是时候去挖掘了。但是这个答案会让我免于烦恼!
    • 我一直喜欢使用customize-framework,但你的里程可能会有所不同。在这种情况下: M-x 自定义变量编译滚动输出。
    【解决方案2】:

    尝试使用 M-x auto-revert-tail-modeM-x auto-revert-mode。取自official documentation

    自动恢复模式的一种用途是 “tail”一个文件,例如系统日志,所以 对该文件所做的更改 其他节目不断 显示。为此,只需移动 指向缓冲区的末尾,它 将保留在那里作为文件内容 改变。但是,如果您确定 文件只会随着增长而改变 最后,使用 Auto-Revert Tail 模式 而是(自动恢复尾模式)。它是 为此更有效。自动还原 尾部模式也适用于远程文件。

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

    【讨论】:

    • 将光标移动到文件末尾似乎可行。 auto-revert-tail-mode 抱怨“这个缓冲区不是文件”;所以也许它只适用于文件,不适用于编译输出?
    【解决方案3】:

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

    【讨论】:

    • 这个可以自动制作吗?我讨厌今天的快速计算机如此迅速地填满我的编译缓冲区,以至于我无法在最后设置光标;-)
    • @Thomas,您可以通过一个命令完成:M->。无论输出滚动的速度有多快,它都会起作用。但是请参阅@thohr 的答案以了解如何使其自动滚动。
    • 不适用于 LaTeX 编译窗口。但是下面的@tsohr 回答效果很好。
    猜你喜欢
    • 2012-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-31
    • 2011-03-05
    • 1970-01-01
    相关资源
    最近更新 更多