Windows双击新扩展名仍开记事本,是注册表HKEY_CLASSES_ROOT.xxx未正确关联ProgID或ftype命令路径错误;macOS需subl --install注册Launch Services;Sublime内语法高亮须通过右下角手动绑定或编辑语法包extensions列表。

Windows 上双击新扩展名文件仍跳记事本?不是 Sublime 没配,是注册表根本没写对
系统级关联失败的典型表现:右键选了“始终使用 Sublime”,但双击还是开记事本或 VS Code。这不是 Sublime 的锅,而是 Windows 注册表里 HKEY_CLASSES_ROOT\.xxx 项没指向正确 ProgID,或者 ftype 对应的命令路径错误。
必须手动进「设置 → 应用 → 默认应用 → 按文件类型指定默认应用」,挨个点开你的目标扩展名(比如 .env、.log、.conf),右侧图标点开后手动浏览并选中 sublime_text.exe——注意:不能选快捷方式(.lnk),路径含空格时必须加英文双引号,例如:"C:\Program Files\Sublime Text\sublime_text.exe"。
- 企业环境若该页面灰显,说明组策略锁死了默认程序,普通用户无法修改
- 用
assoc和ftype命令更可控,但需管理员权限运行 CMD: assoc .env=SublimeText.EnvFileftype SublimeText.EnvFile="C:\Program Files\Sublime Text\sublime_text.exe" "%1"- 别信“一键关联所有文本文件”的工具——它们常把
.exe、.dll也拉进来,触发系统保护机制
macOS 上 .env 或 .myext 双击不走 Sublime?subl --install 是唯一可靠入口
Finder 不认识 Sublime,不是因为你没点“全部更改”,而是它压根没注册进 Launch Services。Homebrew 或拖拽安装的版本默认不注册,which subl 返回空就说明命令不可用。
先确保 subl 可执行:
- 若
which subl无输出,建软链接:sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl - 再执行:
subl --install——这一步才是关键,不是可选项 - 注册完必须重启 Finder:
killall Finder,否则右键“全部更改”不会真正写入数据库 - 如果
subl --install报错,检查 Sublime Text.app 是否重命名过,或是否放在非标准路径(如桌面、Downloads)
双击能启动 Sublime,但右下角显示 Plain Text?这是语法映射没做,和系统无关
系统决定“谁来打开”,Sublime 决定“用什么语法高亮”。关联成功 ≠ 自动高亮。新建一个 .myext 文件,右下角写着 Plain Text,是完全正常的。
最稳妥做法:
- 打开一个
.myext文件 → 点右下角Plain Text→ 选Open all with current extension as…→ 再选对应语法(如INI、Shell-Unix-Generic、Python) - 这个操作会自动生成
Packages/User/INI.sublime-settings或Shell-Unix-Generic.sublime-settings,内容类似:{"extensions": ["myext", "env", "conf"]} - 别往全局
Preferences.sublime-settings里硬加"extensions"字段——Sublime Text 4 已废弃该写法,写了也不生效 - 内置语法包(如
Shell-Unix-Generic)默认不含.log,必须往其file_extensions列表里追加,否则新建/保存都掉回纯文本
想让 .pyw 高亮为 Python?别碰全局设置,直接点右下角
很多人在全局 Preferences.sublime-settings 里加 "extensions": ["pyw"],结果毫无反应。因为 Sublime 不从这里读扩展名映射,它只看语法包自己的配置。
正确路径只有两条:
- 打开一个
.pyw文件 → 点右下角Plain Text→ 选Open all with current extension as…→ 再选Python - 或者,先用上述方式为
.py设一次默认,Sublime 会生成Python.sublime-settings,你再去里面加"pyw"到"extensions"数组里 - 优先级顺序固定:
语法包内 file_extensions > 用户级 *.sublime-settings > 右下角临时设置 - 如果你用 ApplySyntax 插件,规则得写进
ApplySyntax.sublime-settings,且 context 要匹配准确,否则不触发
真正容易被忽略的是:语法映射和系统打开方式是两套完全独立的机制,改错地方就永远看不到效果。确认双击能启动 Sublime 后,剩下的全是 Sublime 内部的语法绑定问题,跟注册表或 Launch Services 再无关系。


















