Sublime Text 默认不自动重载外部修改的文件,需手动启用 auto_reload: true 配置;启用后可能因原子写入、系统监控限制(如 inotify/fsevents)或 WSL2 环境失效,建议同步开启 hot_exit 和 remember_open_files 防丢修改。

Sublime Text 默认不自动重载外部修改的文件
Sublime Text 默认关闭「文件系统变更自动重载」功能。即使你用其他编辑器或命令行修改了已打开的文件,Sublime 也不会弹窗提示、也不会静默更新内容——它会继续显示旧缓存,直到你手动 Ctrl+R(Windows/Linux)或 Cmd+R(macOS)重新加载,或触发保存冲突检测(比如尝试保存时发现文件已被修改)。
启用 auto_reload 是最直接的方法
这个设置控制 Sublime 是否监听文件磁盘变化并自动重载。需手动开启,且仅对当前会话生效(除非写入用户配置):
- 打开命令面板:
Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(macOS) - 输入
Preferences: Settings – User回车 - 在右侧用户配置 JSON 中添加或修改字段:
{ "auto_reload": true } - 保存配置文件(
Ctrl+S),无需重启 Sublime
⚠️ 注意:auto_reload 在某些场景下可能不触发,比如文件被原子写入(如 Vim 的 swapfile 机制、某些构建工具覆盖方式),或文件权限/路径变动导致 inotify/fsevents 失效。
配合 hot_exit 和 remember_open_files 避免误丢修改
开启 auto_reload 后,如果文件被外部程序覆盖,Sublime 会直接丢弃你当前未保存的编辑内容(无提示)。为防意外,建议同步检查以下两项:
-
hot_exit:设为true(默认),确保异常退出后能恢复未保存修改 -
remember_open_files:设为true(默认),避免重开 Sublime 后丢失标签页 - 若你常在 Sublime 中编辑日志、临时生成文件等「只读但频繁变动」内容,可额外加
"atomic_save": false减少保存时的临时文件干扰
Linux/macOS 下文件监控失效?检查 inotify 限制或 fsevents 权限
Sublime 依赖系统级文件监控(Linux 用 inotify,macOS 用 fsevents)。常见问题包括:
- Linux:inotify watch 数量不足 → 报错
inotify_add_watch failed: No space left on device,需提升限制:echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
- macOS:Sublime 没有「完全磁盘访问」权限 → 前往「系统设置 → 隐私与安全性 → 完全磁盘访问」中勾选 Sublime Text
- WSL2:inotify 不可靠,
auto_reload可能完全不工作;建议改用 Windows 原生 Sublime 或切换到 VS Code
真正稳定的自动重载,往往需要操作系统、Sublime 版本(建议使用 Build 4147+)、以及文件写入方式三者匹配——别只盯着配置开关。










