Sublime Text 新建文件自动插入模板需用插件(如FileTemplates)或手动绑定快捷键触发snippet,直接修改Preferences.sublime-settings无效;FileTemplates要求模板名与扩展名一致(如python.tmpl)、变量用双百分号;纯配置方案通过Default.sublime-keymap重映射Ctrl+N,但会覆盖原生命令且不区分语言。
新建文件时怎么自动插入模板?
Sublime Text 本身不提供“新建文件默认内容”这种全局设置,它靠的是
+
或插件协同实现。直接改配置文件(比如
)加
是无效的——这个字段根本不存在。
真正能落地的方式只有两种:用插件(推荐),或手动绑定快捷键触发 snippet。前者稳定、可复用;后者轻量但每次都要按快捷键。
插件方案首选
:安装后支持按文件扩展名自动套用模板,还能定义变量如
、
手动方案需先建一个
文件(例如
),再在用户键绑中映射
→
别把模板写进
,它只管编辑器行为,不管内容初始化
FileTemplates 插件怎么配才不踩坑?
装完
后,默认模板路径是
,但新手常卡在两件事上:路径没找对、模板命名不匹配扩展名。
模板文件名必须和目标扩展名一致,比如想让
新建时自动带头注释,就得建
(不是
或
)
变量语法是
,注意双百分号——单个百分号会被 Sublime 当作转义符吃掉
如果新建后啥也没出现,先检查控制台(
)有没有报错,常见是模板路径里有中文或空格导致加载失败
模板里不要写
这类 shebang 行,它会出现在 Windows 上,且 FileTemplates 不做平台判断
不用插件,纯配置怎么让 Ctrl+N 生效?
可以绕过插件,靠 Sublime 原生能力实现“按 Ctrl+N 就插入固定内容”,但得接受两个限制:所有新建文件都一样、无法按语言区分。
仿Sublime和notepad++编辑器效果
仿Sublime和notepad++编辑器效果
下载
操作路径:
添加一条命令:
注意
是纯字符串,换行用
,不能直接回车换行
变量如
在新建未保存文件时为空,
才可靠
这个绑定会覆盖 Sublime 原生的
命令,所以如果你习惯用
开新窗口,得额外补一条对应绑定
一旦用了这个方案,就别同时开
,否则两个模板会打架
为什么改了模板但新建文件没反应?
最常被忽略的点:Sublime 的模板加载是惰性的,改完
或
后,不重启或重载插件,改动不会生效。
插件类模板(如
):改完
后,执行
或重启 Sublime
snippet 类:改完
后,菜单选
再关掉,就能热重载
键绑定类:改完
后,不需要重启,但必须确保 JSON 格式合法(逗号、引号、括号全闭合),否则整份键绑失效
还有种隐性问题:你新建的是从侧边栏右键 → “New File”,这走的是资源管理器逻辑,不触发任何模板机制——必须用
或菜单
模板这事,表面是填空,实际是 Sublime 加载链上多个环节的配合。少一个环节没对上,内容就出不来。
sublime-snippetDefault.sublime-keymapPreferences.sublime-settingsdefault_contentFileTemplates${date}${file_name}.sublime-snippetjs-default.sublime-snippetctrl+ninsert_snippetPackages/User/Preferences.sublime-settingsFileTemplatesPackages/FileTemplates/templates.pypython.tmplpy.tmplPython.tmpl${date:%%Y-%%m-%%d}Ctrl+`#!/usr/bin/env pythonPackages/User/Default.sublime-keymap
[
{
"keys": ["ctrl+n"],
"command": "insert_snippet",
"args": {
"contents": "#!/usr/bin/env python3\n\"\"\"\n@file: ${file_name}\n@date: ${date:%%Y-%%m-%%d}\n\"\"\"\n"
}
}
]
contents\n${file_name}${date}new_fileCtrl+Shift+NFileTemplates.tmpl.sublime-snippetFileTemplates.tmplPackage Control: Satisfy Dependencies.sublime-snippetTools → Developer → New Plugin…Default.sublime-keymapCtrl+NFile → New File