default_syntax是唯一可靠方式,需在用户设置中填入精确路径(如packages/python/python.sublime-syntax),大小写敏感,修改后必须重启sublime text才生效。

default_syntax 必须填对路径才能生效
Sublime Text 新建的 untitled 文件默认是 Plain Text,想让它一打开就带语法高亮,唯一可靠方式就是配 default_syntax。它不看文件名、不读内容、也不依赖插件自动检测,只认你写的字符串路径。
这个值必须精确到 .sublime-syntax(ST4)或 .tmLanguage(ST3),大小写敏感,不能多空格、不能少斜杠。比如:
-
Packages/Python/Python.sublime-syntax✅ -
Packages/python/python.sublime-syntax❌(大小写错) -
Python.sublime-syntax❌(缺前缀) -
Packages/JavaScript/JavaScript.tmLanguage✅(ST3 有效)
别手敲——先打开一个正确识别的 .py 文件,按 Ctrl+Shift+P 输入 Show Scope Name,状态栏显示 source.python,对应路径基本就是 Packages/Python/Python.sublime-syntax。
修改后必须重启 Sublime Text 才能生效
改完 Preferences → Settings – User 里的 default_syntax,保存后不重启,90% 情况下不会生效。这不是缓存问题,而是 Sublime 在启动时才加载语法绑定规则。
常见误判场景:
- 右下角仍显示
Plain Text→ 八成没重启 - 按
Ctrl+Shift+P输入Set Syntax:,当前选中项不是你配的语法 → 路径错或未重启 - 新建文件后立刻保存为
.js,高亮变成 JavaScript → 这是正常行为,default_syntax只管“未保存 + 无扩展名”阶段
Ctrl+N 是唯一触发 default_syntax 的操作
default_syntax 只在按下 Ctrl+N(Windows/Linux)或 Cmd+N(macOS)时起作用。其他新建方式都不走这条路:
- 双击侧边栏空白区域 → 不触发
- 从菜单栏选择
File → New File→ 不触发 - 拖一个新标签页进来 → 不触发
如果你习惯用菜单或鼠标新建,那这个配置对你完全无效。想统一行为,只能养成按 Ctrl+N 的习惯,或者装插件(如 AdvancedNewFile)扩展逻辑。
别在全局设置里硬塞 extensions 绑定
有人想“一劳永逸”,直接在 Preferences.sublime-settings 里加 "extensions": ["py"],这行不通。Sublime 会忽略它。
要让 .py 文件默认用 Python 高亮,正确做法是:
- 打开一个
.py文件 - 点击右下角
Plain Text→ 选Python - 再点一次右下角当前语法 → 选
Set as Default for .py Files
这会把映射写进 Packages/User/Preferences.sublime-settings 的语法包专属配置里,而不是全局设置。手动改 JSON 容易拼错、覆盖、或和插件冲突,点两下更稳。
真正容易被忽略的是:语法路径错一个字符、重启漏一次、或者误以为所有新建方式都受控——这三个点卡住绝大多数人。路径和重启,缺一不可。











