跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

Sublime如何设置新建文件默认内容?(模板初始化)

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 就插入固定内容”,但得接受两个限制:所有新建文件都一样、无法按语言区分。 仿Sublime和notepad++编辑器效果 仿Sublime和notepad++编辑器效果 下载 操作路径:
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 加载链上多个环节的配合。少一个环节没对上,内容就出不来。

相关文章