Answers:
您可以使用M-x auto-revert-mode
(manual)对特定的缓冲区执行此操作。对于文件缓冲区,这将每秒钟检查一次auto-revert-interval
(默认为5)是否有更改,并自动从磁盘更新缓冲区。
您的标题为“特定文件”,而您的问题正文中提到的是文件类型(组织文件)。根据您的情况,可以通过以下几种方法设置此模式以持久地获得所需的效果。如果将早期方法应用于您的特定用例,则可以说是更清洁,更高效。
如果您知道每个特定类型的文件都需要这样做,请考虑将模式挂钩添加到您的初始化安装程序中。
(add-hook 'org-mode-hook (lambda () (auto-revert-mode 1)))
如果您知道某个目录中的所有内容都需要使用它,请考虑在相关位置的.dir-locals.el中进行设置,并确保适当时使用VCS忽略本地设置文件。此示例将应用于同一目录(和子目录)下文件的所有组织模式缓冲区。您还可以运行M-x add-dir-local-variable
Emacs来自动生成并保存该文件。
(
(org-mode . ((auto-revert-mode . 1)))
)
如果以上两种方法都不适合您,请考虑在每个文件中设置一个文件局部变量。设置其中一个的最短,最通用的方法是在目标文件的第一行中包含以下内容:
-*- eval: (auto-revert-mode 1); -*-
在源文件中,文本可以跟随注释定界符(//,#等)。您可以运行M-x add-file-local-variable-propline
以使Emacs自动为您生成此文件,也可以使它生成M-x add-file-local-variable
使用文件底部而不是顶部的格式。
仅当您不与任何人共享文件时,才使用此方法。从GNU手册:
以这种方式指定次要模式通常是一个错误。次要模式代表各个用户的首选项,将您的首选项强加于可能编辑文件的另一个用户可能是不合适的。如果您希望根据情况自动启用或禁用次要模式,通常最好在主要模式挂钩中进行操作。
add-file-local-variable
和add-dir-local-variable
。
(auto-revert-mode 1)
打开次要模式的标准方法setq
吗?