在Emacs中自动刷新(不仅仅是拖尾)文件

时间:2013-03-05 20:35:58

标签: emacs

我有一个将文本输出到文件output.log的流程。有时,此过程会删除文件并重新开始。

我想自动跟踪Emacs中此文件的内容。我之前使用过auto-revert-tail-mode,但是将新输出附加到缓冲区,显示可能不再存在于文件中的内容(例如,因为进程删除了以前的文件并创建了新文件)。

似乎完成这项工作的唯一命令是C-x C-v RET(在原始文件名上调用find-alternate-file),但我必须手动输入。

Emacs是否提供任何内置机制来跟踪文件内容?或者也许有办法让auto-revert-tail-mode添加一些标记来指示文件何时被删除并从头开始重新创建?

2 个答案:

答案 0 :(得分:6)

M-x auto-revert-mode应该做你想要的。它会更新文件的内容。

此外,当您认为必须手动执行时,可以使用emacs宏(M-x kmacro-start-macro)并将其绑定到密钥。

答案 1 :(得分:2)

还有M-x global-auto-revert-modeauto-revert-mode应用于所有新缓冲区,以防您忘记它。您可以使用.emacs

(global-auto-revert-mode 1)中进行设置