要让sublimetmpl显示自定义语言模板(如.vue或.ts),必须同时完成两步:一是将对应.tmpl文件放入packages/user/sublimetmpl/templates/目录;二是在settings - user中添加匹配的配置项(如"vue": {"syntax": "packages/html/html.tmlanguage", "extension": "vue"}),且key名、文件名、args.type三者严格一致、大小写敏感。

SublimeTmpl 插件本身不支持直接通过 GUI 添加新语言模板,必须手动改配置文件 + 放对 tmpl 文件位置,否则快捷键或菜单里根本不会出现你的模板。
怎么让 SublimeTmpl 显示自定义语言模板(比如 .vue 或 .ts)
默认只带 html/css/js/php/python/ruby 六种,新增类型必须两步同时做:
- 把
.tmpl文件放到Packages/User/SublimeTmpl/templates/目录下(优先级高于默认目录) - 在
Preferences > Package Settings > SublimeTmpl > Settings - User中补全对应语言的配置项,例如添加"vue"类型:
{
"vue": {
"syntax": "Packages/HTML/HTML.tmLanguage",
"extension": "vue"
},
"date_format": "%Y-%m-%d",
"attr": {
"author": "your name",
"email": "me@domain.com"
}
}
注意:syntax 值必须是 Sublime 已安装的语法高亮路径,不能写错;extension 决定新建文件后缀名,不写则默认为 .txt。
为什么改了 tmpl 文件内容但新建文件没生效
常见原因有三个:
- 改的是
Packages/SublimeTmpl/templates/下的原始文件,而你已启用User路径 —— SublimeTmpl 会跳过默认目录,只读User下的同名文件 - 模板文件名和配置中
"vue"这个 key 不一致(比如文件叫vue.tmpl,但配置里写的是"Vue"或"VUE") - 文件编码不是 UTF-8 无 BOM,Windows 记事本保存时容易带 BOM,导致变量如
${date}不被识别
快捷键冲突或不生效怎么办
SublimeTmpl 默认快捷键是 ctrl+alt+h(html)、ctrl+alt+j(js)等,但可能被其他插件覆盖。解决方式:
- 进
Preferences > Package Settings > SublimeTmpl > Key Bindings - User - 粘贴并修改为明确作用域的绑定,例如:
[
{ "keys": ["ctrl+alt+v"], "command": "sublime_tmpl", "args": {"type": "vue"} }
]
⚠️ 注意:不要在 Key Bindings - Default 里改,那是只读的;args.type 的值必须和 Settings - User 里定义的 key 完全一致(大小写敏感)。
模板里 ${saved_filename} 变量为啥总是空
这个变量只在「文件已保存」后才生效,新建未保存的文件里它就是空字符串。要让它可用,必须在 Settings - User 里开启:
"enable_file_variables_on_save": true
同时注意:该变量仅在文件首次保存时替换一次,后续编辑不会刷新;如果想每次保存都更新时间戳之类,得用其他插件(比如 FileHeader)配合实现。
最常被忽略的一点:SublimeTmpl 的模板变量(如 ${date}、${author})只在新建文件瞬间展开,之后再修改 Settings - User 里的 date_format 或 attr,对已创建的文件完全无效 —— 它们不是动态绑定,只是文本替换。











