通知模式行中的过时缓冲区

时间:2012-05-29 01:56:00

标签: emacs modeline

有时候我会使用另一种方法(通常是sed)来编辑文件 这已经被Emacs编辑了。稍后,如果我尝试编辑该文件 在Emacs中没有先恢复更改,我收到一条错误消息 并提示我问该怎么做。

这一切都很好。问题是,我往往会经常忘记 我做了一些平行的改动,所以我想要Emacs 通过在模式行中显示红色“M”来提醒我。

我知道如何自定义模式行(通过添加字符串到 mode-line-format变量),但我不知道如何检查是否 文件已在Emacs之外修改。

是否有检查Emacs缓冲区是否是最新的功能   与它对应的文件?

2 个答案:

答案 0 :(得分:1)

这不是问题的直接答案,但您可以通过使用(global-auto-revert-mode t)在emacs中全局启用自动恢复来避免此问题。

答案 1 :(得分:1)

尝试

(verify-visited-file-modtime (current-buffer))

请参阅Section 27.6 Buffer Modification Time