Sublime Text需手动绑定扩展名与语法,点击右下角“Plain Text”→“Set as Default for .ext”最可靠;系统级文件关联需单独设置,二者互不影响。

Sublime Text 不会自动把 .log、.env、.pyw 这类文件和对应语法绑定,必须手动建立扩展名与语法的映射关系——否则打开就是灰色的 Plain Text,不是软件坏了,是它根本没被告诉“该用什么方式解析”。
点击右下角“Plain Text”设为默认最可靠
这是绝大多数用户应优先尝试的方式,不改配置、不碰路径、不易出错。
- 打开一个
.pyw文件,右下角显示Plain Text - 点击它 → 选择
Set as Default for .pyw Files - Sublime 会自动生成
Packages/User/Python.sublime-settings,并写入"extensions": ["pyw"] - 之后所有新打开的
.pyw文件都会直接高亮为 Python 语法 - 若菜单里没有
Set as Default选项,说明你还没手动切换过语法:先点View → Syntax → Python,再点右下角才会有该选项
手动编辑 XXX.sublime-settings 批量加扩展名
想让 .conf、.ini、.env 全部走 INI 语法?不能往全局 Preferences.sublime-settings 里硬塞 "extensions" 字段——Sublime 会直接忽略。
- 先用上面方法为任意一个(比如
.env)设一次默认,触发生成INI.sublime-settings - 打开
Preferences → Browse Packages → User → INI.sublime-settings - 编辑内容为:
{"extensions": ["conf", "ini", "env", "cfg"]} - 保存后,所有列出的扩展名都会自动匹配 INI 语法
- 注意大小写:
Packages/Text/Plain text.tmLanguage中的Text和text不同,路径错就失效
Windows 下双击仍用记事本?系统级关联没写对
Sublime 的设置只管“打开后怎么显示”,不管“谁来打开它”。双击跳记事本,90% 是 Windows 根本没把 .log 绑定到 sublime_text.exe。
- 进
设置 → 应用 → 默认应用 → 按文件类型指定默认应用 - 挨个点开
.log、.pyw、.env等条目 - 右侧图标必须点开 → 手动选中
sublime_text.exe(不是sublime_text.exe.lnk快捷方式) - 路径含空格时,系统内部存储的是带英文双引号的绝对路径:
"C:\Program Files\Sublime Text\sublime_text.exe" - 更稳的命令行方式(管理员 CMD):
assoc .log=SublimeText.LogFile<br>ftype SublimeText.LogFile="C:\Program Files\Sublime Text\sublime_text.exe" "%1"
macOS 右键“全部更改”失效?缺 Launch Services 注册
Homebrew 安装的 Sublime 常缺这步,导致“显示简介→全部更改”重启后还原,不是操作错了,是注册表根本没写进去。
- 终端执行:
subl --install(若提示command not found,先建软链接:sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl) - 执行完立刻重启 Finder:
killall Finder - 此时再右键 → “显示简介” → “打开方式” → 选 Sublime → “全部更改…” 才真正生效
- 别用
defaults write LSHandlers手动注册 UTI,容易宽泛匹配(比如把所有纯文本都拉给 Sublime),反而干扰 VS Code 或 BBEdit
最容易被忽略的一点:语法映射和系统打开方式是两套独立机制。双击能启动 Sublime,但右下角还是 Plain Text,问题一定出在 Sublime 内部的 extensions 绑定没配;反过来,双击打不开,再怎么配语法也没用——得先让系统把文件递进来。


















