3

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

没关系。问题是当我做了一些并行更改时,我往往会忘记,所以我希望 Emacs 通过在模式行中显示一个红色的“M”来提醒我。

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

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

4

2 回答 2

1

并不是对这个问题的直接回答,但您可以通过在 emacs 中使用(global-auto-revert-mode t).

于 2012-05-29T03:49:06.977 回答
1

尝试

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

请参阅第 27.6 节缓冲区修改时间

于 2012-05-29T06:49:33.250 回答