首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >当磁盘上的文件发生变化时,如何让Emacs自动刷新所有缓冲区?

当磁盘上的文件发生变化时,如何让Emacs自动刷新所有缓冲区?
EN

Stack Overflow用户
提问于 2009-09-26 06:25:56
回答 3查看 37.2K关注 0票数 189

我有一个非emacs全局搜索和替换功能,它会使我的磁盘文件比emacs缓冲区更新(全部更新)。有没有办法让emacs一下子刷新磁盘上的所有缓冲区,而不是通过重新加载文件来逐个刷新?

谢谢!D

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-09-26 17:33:30

.emacs中的(global-auto-revert-mode t)

票数 244
EN

Stack Overflow用户

发布于 2016-10-20 00:13:31

如果您使用的是Emacs GUI (我的是Windows7上的GNU Emacs 25.1.1 ),这里有一个替代方案:

  1. 单击菜单栏中的"Options"
  2. "Customize Emacs"
  3. Select "Saved Options"
  4. Then您应该会看到一个搜索字段,在其中输入"global-auto-revert-mode"并按下“search”E217按钮
  5. 单击“切换”按钮,并确保按钮右侧显示按钮
  6. Press “应用并保存”按钮,位于搜索字段

的正下方

如果你已经打开了几个文件,你应该会看到它立即生效。祝好运!

票数 12
EN

Stack Overflow用户

发布于 2019-01-26 00:45:04

感谢@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更改轮询间隔。

在我设置(setq auto-revert-use-notify nil)之后,Emacs确实每5秒刷新一次所有缓冲区。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1480572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档