我有一个非 emacs 全局搜索和替换功能,它使我的磁盘文件变得比我的 emacs 缓冲区(整体)更新。有没有办法告诉emacs一举刷新磁盘中的所有缓冲区,而不必通过重新加载文件来单独执行每个缓冲区?
谢谢!D
(global-auto-revert-mode t)
在你的.emacs中。
如果您使用的是 Emacs GUI(我的是 Windows 7 上的 GNU Emacs 25.1.1),这是一个替代方案:
如果您已经打开了一些文件,您应该会看到它立即生效。祝你好运!
感谢@Ashwin 指出(global-auto-revert-mode t)
。我发现 Emacs 不会自动更新磁盘上文件已更改的缓冲区,仅此更改。来自https://www.gnu.org/software/emacs/manual/html_node/emacs/Reverting.html:
默认情况下,Auto-Revert 模式使用文件通知工作,文件系统中的更改由操作系统报告给 Emacs。您可以通过将变量 auto-revert-use-notify 自定义为 nil 值来禁用文件通知,然后 Emacs 将通过每五秒轮询一次来检查文件更改。您可以通过变量 auto-revert-interval 更改轮询间隔。
在我设置之后(setq auto-revert-use-notify nil)
,Emacs 确实每 5 秒刷新一次所有缓冲区。