双击文件未用sublime打开是系统默认程序未设置,右下角显示plain text是语法映射未配置;二者需分别处理:windows通过系统默认应用或注册表绑定,macos执行subl --install并重启finder;.pyw等扩展名语法需在对应语法的用户配置中添加extensions字段。

双击文件没走 Sublime,不是 Sublime 没配好,是系统压根没把它当默认程序;右下角写着 Plain Text,也不是打开方式错了,是 Sublime 自己没把扩展名和语法对上。这两件事必须分开处理,混着改只会越调越乱。
Windows 下双击仍用记事本打开?注册表绑定没写对
Sublime Text 不参与系统级文件关联,你改 Preferences.sublime-settings 一点用没有。真正起效的只有两条路:
- 进「设置 → 应用 → 默认应用 → 按文件类型指定默认应用」,挨个点开
.log、.env、.pyw等条目,右侧图标点开后手动选中sublime_text.exe(不是快捷方式.lnk文件) - 以管理员身份运行 CMD,执行两行命令(路径含空格必须加英文双引号):
assoc .log=SublimeText.LogFile<br>ftype SublimeText.LogFile="C:\Program Files\Sublime Text\sublime_text.exe" "%1"
- 常见失败点:
sublime_text.exe路径漏了引号、用了快捷方式、%V写成%1(会导致双击无响应) - 企业环境若该页面灰显,说明组策略锁死,默认应用无法修改,此时加右键菜单更现实
macOS 双击不生效?subl --install 没跑或 Finder 没重启
Homebrew 或拖拽安装的 Sublime 默认不注册到 Launch Services,光点「全部更改」是白忙活。
- 先确认
subl命令可用:which subl;若无输出,先建软链接:sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
- 再执行关键命令:
subl --install(不是subl --install-shell-commands) - 执行完必须立刻重启 Finder:
killall Finder,否则关联不会写入数据库 - 如果
subl --install报错,检查Sublime Text.app是否重命名过、是否放在桌面或Downloads等非标准路径
.pyw 打开后显示 Plain Text?语法映射没写进用户配置
双击能启动 Sublime,说明系统关联成功;右下角写 Plain Text,说明 Sublime 内部语法识别失败——这是两个独立系统。
- 打开一个
.pyw文件 → 点右下角Plain Text→ 先选Python(手动切换一次) - 再点右下角 →
Open all with current extension as…→Python - Sublime 会自动生成
Packages/User/Python.sublime-settings,内容类似:{"extensions": ["py", "pyw"]} - 别往全局
Preferences.sublime-settings里硬加"extensions"字段——Sublime Text 4 已废弃该字段,写了也忽略 - 如果用了插件(比如 Log Highlighter),它自带的
log.sublime-syntax可能覆盖你的设置,得禁用或删掉
想让 .env、.conf、.log 都走 INI 语法?直接改 INI.sublime-settings
批量绑定扩展名,不能靠全局设置,得进对应语法的用户配置文件。
- 先用上面方法设一次
.ini文件触发生成Packages/User/INI.sublime-settings(若不存在) - 编辑该文件,在里面加一行:
"extensions": ["env", "conf", "log"],注意文件名大小写必须完全匹配(INI不是Ini) - 内置语法包(如
Shell-Unix-Generic)默认不含.log,必须往其file_extensions列表里追加,否则新建/保存都掉回纯文本 - 优先级顺序:
语法包内 file_extensions>用户级 *.sublime-settings> 右下角临时设置 - 改完不用重启 Sublime,但已打开的同扩展名文件需关闭重开才能应用新语法
最常被忽略的是:系统关联和语法高亮是两套完全隔离的机制,各自出问题时表现相似(双击没反应 / 右下角写 Plain Text),但修复路径完全不同。混着查注册表又改配置,反而延长排障时间。











