正常行为:Sublime Text新建空白文件默认为Plain Text,需保存为带扩展名文件或手动指定语法才启用高亮;default_syntax仅影响未保存的untitled文件,扩展名绑定才是持久生效的关键。

新建空白文件后语法仍是 Plain Text?这是正常行为
Sublime Text 默认新建的 untitled 文件不绑定任何语法,状态栏显示 Plain Text 不是 bug,而是设计使然——它只在你保存为带扩展名的文件(如 .py)或手动指定语法后才启用高亮与语义支持。如果你刚按 Ctrl+N 新建,立刻看到 Plain Text,不用怀疑配置,直接下一步操作即可。
保存前手动指定语法:点状态栏 or 命令面板
最常用、最即时生效的方式就是干预“保存前”的语法绑定:
- 点击右下角状态栏的
Plain Text,从弹出菜单中选目标语言(如Python、HTML、JSON) - 或按
Ctrl+Shift+P输入Set Syntax: Python(支持模糊匹配,输sspy也能出来) - 注意:该设置仅对当前标签页有效;一旦你保存为
.py,下次打开仍会自动识别,无需重复操作 - 常见陷阱:装了
ApplySyntax或AutoSetSyntax插件时,它们可能在你输入几行后强行覆盖你的手动选择——可临时禁用插件验证是否为此原因
保存时扩展名决定最终语法,不是“保存后才匹配”
Sublime Text 的语法识别逻辑是:**保存动作触发扩展名绑定 → 立即加载对应语法 → 高亮/补全/折叠等功能同步就位**。所以关键不是“保存后怎么改”,而是“保存时后缀写对没”:
- 按
Ctrl+S,在弹出对话框中务必填对后缀,例如:main.py、index.html、config.json - 如果输成
main(无后缀)或main.txt,即使内容是 Python 代码,也只会走Plain Text或Text语法 - 若想让
.conf文件默认用 INI 高亮,不能靠单次设置,得执行View → Syntax → Open all with current extension as… → INI,Sublime 会自动在用户设置中写入映射规则 - 扩展名大小写敏感:Linux/macOS 下
.PY和.py可能被识别为不同语法(取决于语法包定义),建议统一小写
想跳过手动选语法?给 untitled 文件设 default_syntax
如果你频繁新建文件、写几行就保存,又总得点一次状态栏,可以配置 default_syntax 让所有新文件默认用某语法(仅限未保存的 untitled):
- 打开
Preferences → Settings – User,在右侧 JSON 中添加一行:"default_syntax": "Packages/Python/Python.sublime-syntax"
- 路径必须准确:ST4 用
.sublime-syntax,ST3 用.tmLanguage;大小写、斜杠、空格都不能错 - 查真实路径最稳方式:打开一个已正确高亮的
.py文件 →Ctrl+Shift+P→ 输入Show Scope Name→ 看状态栏显示的source.python,再推导出对应路径 - 这个设置完全不影响已保存文件或打开的文件——它们永远优先按扩展名或首行匹配规则来
default_syntax 只作用于“全新且未保存”的文件;而 Open all with current extension as… 写入的映射才是影响所有未来同后缀文件的持久规则**。很多人配了前者就以为一劳永逸,结果新建 .sh 还是没高亮——那是因为没对 .sh 做扩展名绑定。


















