sublime text 新建文件语法由 default_syntax 控制,仅对无路径无扩展名的 untitled 文件生效,值需为完整路径如 "packages/python/python.sublime-syntax",修改后须重启;扩展名映射可通过右下角菜单一键设置,new_file_content 仅在 ctrl+n 时触发且换行用 \n。

Sublime Text 默认新建文件永远是 Plain Text,这不是 bug,是设计如此;想让它一按 Ctrl+N 就带语法高亮,必须配 default_syntax,别指望点几次右下角就能“记住”。
default_syntax 是唯一能控制新建文件语法的配置项
这个字段只在 Packages/User/Preferences.sublime-settings(即 Preferences → Settings – User)里生效,且只影响「未保存、无路径、无扩展名」的 untitled 文件。一旦你保存为 .py 或打开已有文件,Sublime 就完全按扩展名自动匹配,default_syntax 不再起作用。
- 值必须是完整路径,例如:
"default_syntax": "Packages/Python/Python.sublime-syntax"(ST4)或"Packages/JavaScript/JavaScript.tmLanguage"(ST3) - 大小写敏感,
Packages/Markdown/markdown.sublime-syntax和Packages/Markdown/Markdown.sublime-syntax是两个不同路径 - 改完必须重启 Sublime Text,部分版本不重启不会加载新语法绑定
- 如果右下角仍显示
Plain Text,大概率是路径拼错、插件(如ApplySyntax)劫持了逻辑,或 JSON 格式错误(比如多了一个逗号)
怎么查到某个语言的确切语法路径?别猜,用命令实时获取
手动翻包或凭印象写路径容易出错。最稳的方式是利用 Sublime 自带的上下文信息:
- 先打开一个已正确识别的文件(比如
test.py),按Ctrl+Shift+P输入Show Scope Name,状态栏会显示类似source.python - 这个
source.python就是作用域名,对应路径基本就是Packages/Python/Python.sublime-syntax - 或者更直接:按
Ctrl+Shift+P输入Set Syntax: Python,再执行Copy Syntax Path(需提前安装Syntax Highlighting Tools或PackageResourceViewer) - 别去编辑
Default设置文件,它会在升级时被重置;所有自定义都写在User侧
让 .ts、.conf 这类扩展名自动高亮?点一下就搞定,不用写 JSON
对已有扩展名做自动映射,根本不需要手改配置文件。操作路径极简:
- 打开一个
.ts文件,右下角显示Plain Text,点击它 → 选TypeScript→ 再点一次右下角当前语法 → 弹出Set as Default for .ts Files,确认即可 - Sublime 会自动往
Preferences.sublime-settings里加一条"extensions": ["ts"]映射,绑定到当前语法路径 - 同理,对
.conf文件,点右下角 →INI→Set as Default for .conf Files - 如果点了没反应,检查用户设置里是否启用了
"detect_syntax": true,它会覆盖你的手动设定
new_file_content 只对 Ctrl+N 有效,且换行必须用 \n
想新建文件就带 Markdown 前置声明或代码模板?得靠 new_file_content 配合 default_syntax。但它有严格限制:
- 仅在按下
Ctrl+N(Windows/Linux)或Cmd+N(macOS)时触发;双击侧边栏空白、菜单 New File、拖入新标签页都不走这条路 - 内容中换行必须用
\n,\r\n会被当作文本字面量显示成\r - 示例(Markdown 模板):
"new_file_content": "---\ntitle: \"\"\ndate: \"\"\n---\n" - 不支持变量(如
${date}),要动态内容必须用插件(如FileTemplates)
真正容易被忽略的是:这些配置之间存在优先级关系——ApplySyntax 类插件会覆盖 default_syntax,而 detect_syntax: true 会让扩展名绑定失效;哪怕路径全对、JSON 无误,只要插件开着,效果就可能打折扣。











