sublime text 新建文件自动插入模板需用插件(如filetemplates)或手动绑定快捷键触发snippet,直接修改preferences.sublime-settings无效;filetemplates要求模板名与扩展名一致(如python.tmpl)、变量用双百分号;纯配置方案通过default.sublime-keymap重映射ctrl+n,但会覆盖原生命令且不区分语言。

新建文件时怎么自动插入模板?
Sublime Text 本身不提供“新建文件默认内容”这种全局设置,它靠的是 sublime-snippet + Default.sublime-keymap 或插件协同实现。直接改配置文件(比如 Preferences.sublime-settings)加 default_content 是无效的——这个字段根本不存在。
真正能落地的方式只有两种:用插件(推荐),或手动绑定快捷键触发 snippet。前者稳定、可复用;后者轻量但每次都要按快捷键。
- 插件方案首选
FileTemplates:安装后支持按文件扩展名自动套用模板,还能定义变量如${date}、${file_name} - 手动方案需先建一个
.sublime-snippet文件(例如js-default.sublime-snippet),再在用户键绑中映射ctrl+n→insert_snippet - 别把模板写进
Packages/User/Preferences.sublime-settings,它只管编辑器行为,不管内容初始化
FileTemplates 插件怎么配才不踩坑?
装完 FileTemplates 后,默认模板路径是 Packages/FileTemplates/templates,但新手常卡在两件事上:路径没找对、模板命名不匹配扩展名。
- 模板文件名必须和目标扩展名一致,比如想让
.py新建时自动带头注释,就得建python.tmpl(不是py.tmpl或Python.tmpl) - 变量语法是
${date:%%Y-%%m-%%d},注意双百分号——单个百分号会被 Sublime 当作转义符吃掉 - 如果新建后啥也没出现,先检查控制台(
Ctrl+`)有没有报错,常见是模板路径里有中文或空格导致加载失败 - 模板里不要写
#!/usr/bin/env python这类 shebang 行,它会出现在 Windows 上,且 FileTemplates 不做平台判断
不用插件,纯配置怎么让 Ctrl+N 生效?
可以绕过插件,靠 Sublime 原生能力实现“按 Ctrl+N 就插入固定内容”,但得接受两个限制:所有新建文件都一样、无法按语言区分。
云模块_YunMOK网站管理系统采用PHP+MYSQL为编程语言,搭载自主研发的模块化引擎驱动技术,实现可视化拖拽无技术创建并管理网站!如你所想,无限可能,支持创建任何网站:企业、商城、O2O、门户、论坛、人才等一块儿搞定!永久免费授权,包括商业用途; 默认内置三套免费模板。PC网站+手机网站+适配微信+文章管理+产品管理+SEO优化+组件扩展+NEW Login界面.....目测已经遥遥领先..
操作路径:Packages/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}才可靠 - 这个绑定会覆盖 Sublime 原生的
new_file命令,所以如果你习惯用Ctrl+Shift+N开新窗口,得额外补一条对应绑定 - 一旦用了这个方案,就别同时开
FileTemplates,否则两个模板会打架
为什么改了模板但新建文件没反应?
最常被忽略的点:Sublime 的模板加载是惰性的,改完 .tmpl 或 .sublime-snippet 后,不重启或重载插件,改动不会生效。
- 插件类模板(如
FileTemplates):改完.tmpl后,执行Package Control: Satisfy Dependencies或重启 Sublime - snippet 类:改完
.sublime-snippet后,菜单选Tools → Developer → New Plugin…再关掉,就能热重载 - 键绑定类:改完
Default.sublime-keymap后,不需要重启,但必须确保 JSON 格式合法(逗号、引号、括号全闭合),否则整份键绑失效 - 还有种隐性问题:你新建的是从侧边栏右键 → “New File”,这走的是资源管理器逻辑,不触发任何模板机制——必须用
Ctrl+N或菜单File → New File
模板这事,表面是填空,实际是 Sublime 加载链上多个环节的配合。少一个环节没对上,内容就出不来。









