windows需在系统默认应用中手动为每个扩展名指定sublime_text.exe(非快捷方式),macos需执行subl --install并killall finder;语法高亮须在sublime内通过“open all with current extension as…”配置,与系统打开方式无关。

Windows双击仍用记事本打开?系统默认应用没真写入
Sublime Text 自身设置对“双击用谁打开”完全无效——这是操作系统级行为,必须走系统默认应用配置。常见失败不是你没点,而是点完没生效。
关键操作只有两条:
- 进「设置 → 应用 → 默认应用 → 按文件类型指定默认应用」,逐个点开
.pyw、.log、.env等条目 - 右侧图标点开后,**手动选中
sublime_text.exe(不是快捷方式.lnk)**;路径含空格(如C:\Program Files\Sublime Text\sublime_text.exe)时,系统内部必须带英文双引号,否则注册表静默失败 - 若某扩展名(如
.env)没出现在列表里,先右键该文件 → “打开方式” → 手动选一次 Sublime,它才会被系统识别并加入列表
macOS 右键“全部更改”无效?缺 subl --install 这步
Homebrew 或官网安装的 Sublime,常未注册到 Launch Services,导致 Finder 的“全部更改”白点——改完重启 Finder 也不生效。
唯一可靠补救命令是:
subl --install
执行前确认 subl 命令可用:
- 运行
ls -l /usr/local/bin/subl,输出应指向/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl - 若不存在,先建软链接:
sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl - 执行
subl --install后,**必须运行killall Finder**,否则关联不会真正写入数据库
.log、.env 打开后仍是 Plain Text?语法没绑上,不是系统问题
双击能启动 Sublime,说明系统关联成功;右下角写着 Plain Text,说明 Sublime 内部语法识别失败——这是两套逻辑,互不干扰。
最稳妥做法:
- 用 Sublime 打开一个
.log文件 - 点右下角
Plain Text→ 选Open all with current extension as…→ 再选INI或Shell-Unix-Generic等对应语法 - 这会自动生成
Packages/User/INI.sublime-settings或Shell-Unix-Generic.sublime-settings,内容类似:{"extensions": ["log", "env", "conf"]} - 别手写全局
Preferences.sublime-settings里加"extensions"字段——Sublime Text 4 已不认这个字段
想让 .pyw 高亮为 Python?别碰全局 Preferences.sublime-settings
很多人在全局设置里加 "extensions": ["pyw"],结果毫无反应。因为 Sublime 不从这里读扩展名映射,它只看语法包自己的配置。
正确路径是:
- 先用 Sublime 打开一个
.pyw文件 - 菜单栏
View → Syntax → Python(先手动选一次) - 再点
View → Syntax → Open all with current extension as… → Python - Sublime 会自动在
Packages/User/Python.sublime-settings里写入正确映射 - 注意:文件名大小写敏感,
Python.sublime-settings≠python.sublime-settings;路径错误时 Sublime 不报错,只静默回退到 Plain Text
最容易被忽略的是:语法绑定和系统打开方式完全解耦。你改了 Packages/User/INI.sublime-settings,只是影响高亮;而 .env 双击是否调起 Sublime,只取决于系统注册表或 Launch Services 是否写对了 sublime_text.exe 路径——这两件事得分别确认,不能互相替代。











