答案是右下角显示plain text即表明文件未被识别为对应语言,需点击切换语法、绑定扩展名、检查ignored_packages并重载语法定义。

Sublime Text 代码没高亮,基本就是它没认出文件类型——右下角显示 Plain Text 就是铁证。这不是 bug,是它只靠后缀和 shebang 判断,不猜内容。
点击右下角语法名,立刻切换当前文件高亮
这是最快速、零配置的验证和修复方式:
- 右下角显示
Plain Text、Text或明显错误的语法(比如用Shell-Unix-Generic打开.env)时,直接点击它 - 在弹出菜单里选对的语言,如
JavaScript、YAML、Vue Component;注意大小写敏感,javascript或js不会匹配 - 选完当前文件立即重绘,关键字、字符串、注释全上色
- 快捷键更省事:
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入Set Syntax: YAML回车
让同后缀文件每次打开都自动高亮:用 Open all with current extension as…
手动切一次只改当前 tab;要永久生效,必须绑定扩展名:
- 先确保当前文件已手动设为正确语法(右下角显示
YAML而不是Plain Text) - 执行
View → Syntax → Open all with current extension as…,再选目标语法(如YAML) - Sublime 会自动生成
Packages/User/YAML.sublime-settings,内容类似:{"syntax": "Packages/YAML/YAML.sublime-syntax"} - 对小众后缀(如
.conf、.env),这步常失败——因为默认没内置对应语法包;此时应改Packages/User/ShellScript.sublime-settings,内容为:{"extensions": ["env", "conf", "cfg"]}
检查 ignored_packages 是否误禁了语法包
很多人装插件时顺手禁用了基础包,结果把 XML、TypeScript 这类核心语法也关掉了:
- 打开
Preferences → Settings,看右侧用户设置中是否有"ignored_packages"字段 - 重点检查是否包含
"XML"、"TypeScript"、"Vue Component"等——如果有,删掉对应项 - 改完必须执行
Ctrl+Shift+P输入Reload Syntax Definitions,否则新设置不加载 - 重启 Sublime 不是必须,但重载语法定义是刚需
新建空白文件(Ctrl+N)默认用什么语法?靠 default_syntax 配置
Sublime 默认新建文件永远是 Plain Text,不会记住你上次选了啥:
- 打开
Preferences → Settings – User,在右侧添加:"default_syntax": "Packages/JavaScript/JavaScript.tmLanguage"
- 路径必须准确:不能写
JavaScript,也不能漏Packages/前缀;可用View → Syntax → Open all with current extension as…查已识别文件的真实路径 - 该设置只影响无路径、无内容、未保存的新建文件,不影响已有文件或带后缀的文件
- 如果写了路径但没生效,大概率是拼写错误或 JSON 格式非法(比如多了一个逗号)
真正容易被忽略的是:自定义语法(比如 .mylang)必须同时满足三件事才可能高亮——.sublime-syntax 文件保存在 Packages/User/mylang/ 下、file_extensions 明确列出后缀、配色方案里有对应 scope 的颜色定义。少一个,就只是个“能看见名字但不着色”的空壳。











