Sublime Text 新建文件默认为 Plain Text,需手动设置 default_syntax;冷门后缀需通过 Open all with current extension as… 或编辑 Extensions.sublime-settings 绑定语法;永久生效须修改对应 .sublime-syntax 文件的 file_extensions 列表。

Sublime Text 不会自动根据文件名后缀判断语法高亮或默认保存类型,必须手动设置或修改关联规则。默认情况下,新建文件是 Plain Text,没有语法高亮,也不带扩展名——这不是 bug,是设计如此。
如何为新建文件指定默认语法(如 Python / Markdown)
新建文件默认用 Plain Text,想一开就带 Python 高亮?得改设置:
- 打开
Preferences → Settings – User - 添加一行:
"default_syntax": "Packages/Python/Python.sublime-syntax" - 注意路径大小写和拼写:Python 是
Packages/Python/Python.sublime-syntax,Markdown 是Packages/Markdown/Markdown.sublime-syntax,JSON 是Packages/JSON/JSON.sublime-syntax - 改完保存,重启 Sublime 或新建文件即可生效
如何让 .log、.conf 等冷门后缀自动匹配语法
Sublime 内置不识别 .log、.conf、.env 这类后缀,需手动绑定:
- 打开任意一个该后缀的文件(比如
app.log) - 点击右下角当前语法名称(如
Plain Text)→ 选择Open all with current extension as…→ 再选目标语法(如Shell-Unix-Generic或Text) - 这会生成用户映射文件:
Preferences → Settings – Syntax Specific里看不到,但实际已写入Packages/User/Extensions.sublime-settings - 也可以直接编辑该文件,加一条:
"log": "Shell-Unix-Generic"(key 是小写后缀,value 是语法名,不含Packages/路径)
如何永久修改某后缀的默认保存类型(比如 .sh 保存时自动用 Shell 语法)
仅靠 Open all with current extension as… 不够——它只影响打开行为,不控制新建或保存时的默认语法。真正起作用的是 file_extensions 映射:
- 菜单栏 →
View → Syntax → Open Syntax Definition(会打开当前语法的.sublime-syntax文件) - 复制其中的
file_extensions列表(如- sh、- bash) - 在
Packages/User/Shell-Unix-Generic.sublime-syntax(或对应语法文件)中粘贴并追加你自己的后缀,例如:file_extensions: - sh - bash - zsh - env - conf - log
- 保存后,这些后缀的新建/保存/打开都会自动匹配该语法
最易忽略的一点:Sublime 的语法匹配优先级是「语法定义里的 file_extensions > 用户 Extensions.sublime-settings > 当前手动设置」。改了设置却没生效?先检查对应语法文件是否已声明该后缀。










