Sublime Text的View → Read Only是视图级只读机制,拦截所有编辑操作并阻止缓冲区修改;仅作用于当前标签页,需手动或快捷键(如Ctrl+Alt+R)启用,配合系统级只读可实现双重防护。

View → Read Only 是最直接有效的操作
Sublime Text 原生支持视图级只读,不是噱头,而是真实生效的编辑拦截机制。启用后,所有输入、删除、粘贴操作都会被忽略,状态栏显示 read only(取决于主题),且 Ctrl+S 会弹出确认框——哪怕文件系统本身可写,它也拒绝修改缓冲区内容。
- 打开文件后,点击菜单 View → Read Only 即可启用;再次点击即取消
- 右键编辑区 → File → Set Read-Only 效果相同,适合鼠标党
- 该设置仅作用于当前标签页,复制标签页、双击侧边栏重开文件,新视图默认可编辑——别以为设过一次就一劳永逸
- 它不改文件权限,不影响其他程序读写,纯 Sublime 内部行为,安全无副作用
用快捷键 toggle_read_only 提升日常效率
默认没绑定快捷键,但手动加一条就能秒切,尤其适合频繁查看配置文件或日志的场景。
- 进入 Preferences → Key Bindings,在右侧用户键位中添加:
{ "keys": ["ctrl+alt+r"], "command": "toggle_read_only" }- Windows/Linux 用
Ctrl+Alt+R,macOS 改为cmd+alt+r - 注意:这个命令是切换,不是单向开关;按一次开,再按一次关,比反复点菜单快得多
系统级只读 + view.set_read_only(True) 才算双重保险
仅靠 Sublime 的 Read Only 菜单项,防不住复制粘贴后误保存覆盖;仅靠系统只读(如 chmod 444 或 Windows 勾选“只读”),又防不住你在编辑器里删光内容再 Ctrl+S——此时 Sublime 会报 Unable to save — Permission denied,但你已经把空文件留在内存里了。
- Linux/macOS:终端执行
chmod a-w /etc/hosts,再在 Sublime 中运行view.set_read_only(True) - Windows:右键属性勾选“只读”,再打开文件后按快捷键
Ctrl+Alt+R - 两者叠加,既阻止编辑动作,又确保保存必失败,真正杜绝误改
插件自动匹配敏感路径(适合运维/开发常看配置)
如果你每天都要打开 /etc/nginx/conf.d/、~/.config/starship.toml 这类路径,每次手动设只读太累。插件 ReadOnlyPaths 可以按正则自动触发 view.set_read_only(True)。
- 用 Package Control 安装
ReadOnlyPaths(注意:Sublime 4 用户需手动兼容,将插件源码中的view.set_read_only改为sublime.View.set_read_only) - 配置示例:
"paths": ["^/etc/.*", "^~/.config/.*"] - 缺点明显:插件多年未更新,不支持通配符嵌套,且对符号链接路径识别不稳定
- 建议仅用于固定路径前缀,别指望它覆盖所有边缘 case










