取消Sublime关联需分系统处理:Windows需修改注册表或用assoc/ftype命令;macOS须清除Launch Services注册并重启Finder;Linux要删除.desktop文件、清理mimeapps.list并刷新数据库;此外还需清除Sublime内部语法映射。

Windows 上取消 Sublime 关联,必须改注册表或重置默认应用
双击文件还打开 Sublime Text?说明系统级绑定没真正清除。点“设置 → 默认应用 → 按文件类型指定默认应用”里手动切回记事本/VS Code 等,是最安全的第一步。但若该后缀根本不在列表中(比如 .log 或 .env),或切换后仍跳 Sublime,大概率是注册表残留了 HKEY_CLASSES_ROOT\.log 这类键值,指向了 SublimeText.LogFile。
此时需以管理员身份运行 CMD,执行两行命令还原(替换为你原本设的类型名):
assoc .log=txtfile ftype txtfile="C:\Windows\System32\notepad.exe" "%1"
注意:assoc 和 ftype 必须配对使用;txtfile 是 Windows 原生文本类型标识,不是随便写的;路径含空格必须加英文双引号,且 "%1" 不能漏——否则双击打不开文件。
macOS 取消关联不能只删软链接,得刷新 Launch Services
执行过 subl --install 后,Finder 双击才走 Sublime;想彻底取消,光删 /usr/local/bin/subl 软链接没用,因为 Launch Services 数据库里还存着映射记录。
正确操作分三步:
- 先删软链接:
sudo rm /usr/local/bin/subl - 再清注册:
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -u "/Applications/Sublime Text.app" - 最后重启 Finder:
killall Finder,否则“全部更改”菜单里选别的编辑器也无效
别用 defaults write LSHandlers 手动删 UTI——容易删错条目,反而让 .conf 或 .yml 失去识别能力。
Linux 桌面环境取消关联要改 .desktop 文件并刷新缓存
GNOME/KDE 不看文件后缀,只认 MIME type。你删了 sublime_text.desktop,但只要 MimeType= 字段还留在系统级 /usr/share/applications/defaults.list 里,双击照样走 Sublime。
必须做三件事:
- 确认 Sublime 的
.desktop文件已从~/.local/share/applications/和/usr/share/applications/中移除 - 检查
/usr/share/applications/defaults.list和~/.local/share/applications/mimeapps.list,删掉所有含sublime_text.desktop的行 - 执行
update-desktop-database ~/.local/share/applications和sudo update-desktop-database /usr/share/applications
漏掉任意一步,text/plain 类型仍会优先匹配 Sublime,哪怕它已卸载。
取消关联后,.pyw 还显示 Plain Text?那是 Sublime 内部语法映射没清
系统关联取消成功 ≠ Sublime 自身不再处理该后缀。比如你已把 .pyw 改为用 VS Code 打开,但用 Sublime 手动打开一个 .pyw 文件时,右下角仍显示 Plain Text,这不是系统问题,而是 Sublime 的语法缓存还在。
要清干净,得进 Sublime 执行:
- 打开任意
.pyw文件 → View → Syntax → Open all with current extension as… → Python - 或者直接删掉
Packages/User/Python.sublime-settings里的extensions配置项 - 更彻底:删掉
Packages/User/Preferences.sublime-settings中所有带extensions的行
重点在于:系统默认打开方式和编辑器内部语法高亮是两套完全独立的机制,取消前者不会自动清理后者。


















