sublime text无内置只读开关,必须通过系统级权限设置:windows勾选文件属性“只读”,macos锁定文件,linux执行chmod a-w;设后状态栏显示“read only”,ctrl+s直接报“permission denied”。

Sublime Text 没有“只读模式”开关,设只读必须改文件系统权限——改完状态栏立刻显示 read only,按 Ctrl+S 直接报 Permission denied,不给任何商量余地。
为什么不能在 Sublime 里点几下就设只读
Sublime 的保存逻辑走的是系统级 fopen(, "w") 调用,内核拒绝写入时它连重试都不做。所有插件或设置层的“禁用保存按钮”“拦截 on_pre_save”都无效:事件触发时写操作早已排队,权限检查发生在更底层。你看到的“只读提示”只是 Sublime 对系统返回状态的被动展示,不是它主动控制的开关。
Windows/macOS/Linux 各自怎么设真实只读
必须通过操作系统执行,Sublime 只负责反映结果:
- Windows:右键文件 → “属性” → 勾选“只读” → 点“应用”,再点“全部应用”(否则同目录下其他文件可能漏掉)
- macOS:右键 → “显示简介” → 拉到底部勾选“锁定”
- Linux:
chmod a-w filename(注意是a-w,不是-w;少个a只改当前用户,别人仍可写)
设完立刻生效,Sublime 底部状态栏会同步显示 read only,且 Ctrl+S 弹窗报错,不写磁盘、不缓存、不提示“是否放弃修改”——这是最干净的防护。
临时只读查看配置/日志的可靠做法
别信 subl --command "set_read_only" 这类命令,它不是 Sublime 内置命令,需手动注册、重启失效、稳定性差。真正靠谱的流程是:
- 先用系统命令加锁:
chmod a-w config.yaml && subl config.yaml - 或者写脚本封装:打开前
chmod a-w,关闭后自动chmod u+w(适合 CI 日志等一次性场景) - SideBarEnhancements 插件可右键调终端执行
chmod,但本质还是走系统命令,不是 Sublime 功能
重点在于:只读保护生效与否,只取决于你双击打开 Sublime 前那一步——文件是否已被系统锁定。任何绕过这一步的“编辑器内只读”方案,都会在 Ctrl+S 时当场崩掉。











