Sublime Text 无原生只读模式,但可通过 view.set_read_only(True) 实现视图级只读、系统权限设只读文件、或用 ReadOnlyPaths 插件自动匹配敏感路径并启用只读。

Sublime Text 里没有真正的“只读模式”,但有等效方案
Sublime Text 本身不提供类似 Vim 的 :view 或 VS Code 的 “Read-Only” 切换开关,也没有内置的“启用只读模式”菜单项。所谓“防止误修改”,实际要靠组合行为达成:让文件不可编辑 + 明确提示状态 + 避免意外保存。
用 view.set_read_only(True) 手动标记当前视图
这是最直接、可复用的方式,适合打开敏感文件(如 /etc/hosts、配置模板、部署脚本)后立即执行。它不会锁文件系统权限,但 Sublime 会拒绝所有编辑操作,并在状态栏显示 read only。
操作步骤:
- 打开目标文件
- 按
Ctrl+`(Windows/Linux)或Cmd+`(macOS)调出 Python 控制台 - 输入并回车:
view.set_read_only(True)
此时尝试输入、删除、粘贴都会被忽略;Ctrl+S 仍可触发保存(但会弹出确认框,因文件实际是只读属性时系统会拦截);若想恢复编辑,运行 view.set_read_only(False) 即可。
通过文件系统权限 + 自动检测实现“真正只读”
Sublime 会尊重系统级只读权限。对 Linux/macOS,用 chmod 444 filename;Windows 下右键 → 属性 → 勾选“只读”。Sublime 启动时若发现文件不可写,会在标题栏末尾加 [readonly],且保存时直接报错:Unable to save ... Permission denied。
注意点:
- 该方式依赖操作系统,跨平台行为一致但设置路径不同
- Sublime 不会自动把“只读文件”设为
set_read_only(True),所以仍可能误删内容(只是最后一步保存失败) - 推荐搭配使用:先设系统只读,再手动执行
view.set_read_only(True),双重保险
用插件自动处理常见敏感路径
如果经常查看 /etc/、/usr/local/etc/、~/.config/ 下的文件,可安装插件 ReadOnlyPaths(需 Package Control 安装)。它支持配置正则路径规则,例如:
{
"paths": [
"^/etc/.*",
"^/usr/local/etc/.*",
"^~/.config/.*"
]
}
匹配到的文件会在打开时自动执行 view.set_read_only(True),无需每次手动输命令。缺点是插件不维护多年,部分 Sublime 4 用户需手动兼容(改用 sublime.View.set_read_only 调用方式)。
真正容易被忽略的是:Sublime 的 set_read_only 是视图级状态,不是文件级;复制标签页、用侧边栏双击重开,新视图默认可编辑。只要没关掉那个原始标签页,就别以为“设过一次就一劳永逸”。










