sublime text默认语法设置需在preferences → settings – user中添加"default_syntax": "packages/python/python.sublime-syntax",仅对未保存的untitled文件生效,路径必须完整、大小写敏感且为.sublime-syntax格式,修改后需重启才生效。

Sublime Text 默认语法设置不在菜单栏的任何下拉选项里,必须手动编辑用户配置文件;所谓“默认语法”只对未保存的 Untitled 文件生效,点菜单里的“Set Syntax”或右下角切换都只是临时操作,不改变这个默认行为。
default_syntax 字段必须写在 Preferences → Settings – User 里
菜单栏 Preferences → Settings 打开的是双面板:左侧是只读的 Default 设置,右侧才是你该改的地方(标注为 “User”)。这里是一个 JSON 文件,所有自定义配置都加在右侧大括号 {} 内部。
- 必须用
"default_syntax": "Packages/Python/Python.sublime-syntax"这种完整路径格式,不能简写成"Python"或"Python.sublime-syntax" - 路径大小写敏感,
Packages/Python/Python.sublime-syntax和Packages/python/python.sublime-syntax是两回事 - Sublime Text 4 只认
.sublime-syntax,旧版.tmLanguage路径会静默失效 - 改完必须重启 Sublime 或新建一个窗口才生效,仅保存配置文件不够
右下角点击“Plain Text”不是设置默认语法,而是临时切换当前文件
状态栏右下角显示的语法名(如 Plain Text、JavaScript)只是当前视图的语法绑定,点它弹出的菜单里选语言,效果仅限当前标签页。
- 关掉再重开,或打开已有文件,它立刻按扩展名重新匹配,完全无视你刚才点的设置
- 如果点了之后很快又变回去,大概率是插件(如
ApplySyntax)在后台自动重置,或detect_indentation开着导致连带检测逻辑干扰 - 想让
.conf文件总用 INI 高亮?得用Open all with current extension as…命令,不是点状态栏
怎么查到某个语言的确切语法路径,别靠猜
手敲 Packages/Markdown/Markdown.sublime-syntax 很容易错——比如 Markdown 插件叫 MarkdownEditing,实际路径可能是 Packages/MarkdownEditing/Markdown.sublime-syntax。
- 先打开一个已正确高亮的文件(比如
test.py),按Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS) - 输入并执行
Set Syntax: Python(确保它真能识别),再立刻执行Tools → Developer → Show Scope Name - 状态栏会显示类似
source.python的作用域名,对应语法路径基本就是Packages/Python/Python.sublime-syntax - 不确定?用
Preferences → Browse Packages…进入目录,直接翻找带.sublime-syntax后缀的文件
真正容易被忽略的点是:这个 default_syntax 设置和文件扩展名映射完全无关,也和语法专属配置(如 Python.sublime-settings)无关。它只管那个一闪而过的 Untitled 窗口——别的都归扩展名、作用域、插件或项目设置管。搞混这层边界,配置就永远像在打游击。











