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