Sublime Text 的系统文件关联与内部语法高亮完全独立:Windows 需正确配置注册表或使用 assoc/ftype 命令并加引号;macOS 必须运行 subl --install 并 killall Finder;.log 等扩展名的语法映射需通过右下角菜单设置并生成对应 User 配置文件。

Sublime Text 本身不控制“双击用谁打开”,系统级文件关联必须由操作系统管理;语法高亮则完全由 Sublime 自己决定,两者互不干扰。想让 .log 双击启动 Sublime 并高亮为 Plain Text,得分别搞定系统绑定 + 编辑器内语法映射。
Windows 下双击仍跳记事本?注册表没写对或路径没加引号
你点过“始终使用”,但双击还是开记事本,大概率是注册表键值没生效,或者 sublime_text.exe 路径含空格却没加英文双引号。
- 进「设置 → 应用 → 默认应用 → 按文件类型指定默认应用」,逐个点开
.log、.env、.pyw等条目 - 右侧图标点开后,必须手动浏览并选中真实的
sublime_text.exe(不是.lnk快捷方式) - 若路径是
C:\Program Files\Sublime Text\sublime_text.exe,系统内部必须存为"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 双击不走 Sublime?缺 subl --install 和 killall Finder
Homebrew 或拖拽安装的 Sublime 默认不注册到 Launch Services,右键设了“全部更改”也白搭,重启 Finder 后照样失效。
- 先确认
subl命令可用:which subl;若无输出,建软链接:sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
- 再执行:
subl --install—— 这一步才是补全 Launch Services 关联的关键,不是可选项 - 执行完必须立即刷新:
killall Finder,否则“全部更改”不会真正写入数据库 - 别用
defaults write LSHandlers手动写 UTI,容易匹配太宽(比如public.plain-text会把所有纯文本都拉过去),反而干扰其他编辑器
.log 打开后显示 Plain Text?这是 Sublime 内部语法没绑上
双击能启动 Sublime,说明系统关联成功;右下角写着 Plain Text,说明 Sublime 自己没把扩展名和语法对上 —— 这完全是两套逻辑。
- 打开一个
.log文件 → 点右下角Plain Text→ 选Open all with current extension as…→ 再选Plain Text - 这个操作会自动生成
Packages/User/Plain Text.sublime-settings,内容类似:{"extensions": ["log", "env"]} - 别往全局
Preferences.sublime-settings里硬塞"extensions"字段 —— Sublime Text 4 已废弃该写法,写了也不生效 - 如果用了插件(比如 Log Highlighter),它自带的
log.sublime-syntax可能覆盖你的设置,得删掉或禁用
批量关联多个扩展名?编辑对应语法的用户配置文件
想让 .env、.conf、.ini 都走 INI 语法,不能靠全局设置,得进具体语法的用户配置文件。
- 先打开一个
.ini文件 → 右下角点Plain Text→ 选INI→ 再点右下角选Set as Default for .ini Files,触发生成Packages/User/INI.sublime-settings - 编辑该文件,加一行:
"extensions": ["env", "conf", "ini"],注意文件名大小写必须严格匹配语法名(INI不是Ini) - 路径大小写敏感:
Packages/Text/Plain text.tmLanguage不能写成plain text.tmlanguage - 修改后不用重启 Sublime,但已打开的同扩展名文件需关闭重开才能应用新语法
最容易被忽略的是:系统关联和语法高亮是两个独立开关,关了一个另一个照常运行;还有就是 macOS 下 subl --install 后不 killall Finder,等于没做。


















