写了个sublime的模版插件, 项目主页: https://github.com/kairyou/SublimeTmpl
这样就可以新建文件时使用模版的内容了, 目前添加了html/js/css/php/python/ruby的模版. 不需新建空白文件, 再从其他文件复制内容过来了.
已增加对Sublime Text3的支持.
使用:
1. ST菜单, File-New File (SublimeTmpl), 选择列表里的相应菜单, 可直接使用模版新建文件.
2. 命令, cmd+shift+p, 输入: "tmpl:", 可以找到创建文件的菜单列表.
3.快捷键, 默认快捷键见下面. 可以自己修改, 方法见"设置"部分.
默认快捷键:
ctrl+alt+h html ctrl+alt+j javascript ctrl+alt+c css ctrl+alt+p php ctrl+alt+r ruby ctrl+alt++shift+p python
关闭默认快捷键:
Package Settings > SublimeTmpl > Settings - User, 增加disabled_keymap_actions配置:
"disabled_keymap_actions": "html, css" // 关闭html/css语法的快捷键(多个逗号分隔)
"disabled_keymap_actions: "all" //关闭所有语法快捷键
安装:
方法1. 通过 Package Control
Package Control / Install Package, 搜索"SublimeTmpl" 或 "tmpl", 安装.
* [2012/08/01]已经通过Package Control审核
方法2. Github
打开项目主页, git clone到ST的Packages文件夹(\Data\Packages), 或直接把ZIP格式的下载下来解压到Packages文件夹(文件夹名称必须为:SublimeTmpl).
设置:
菜单: Preferences / Packages Settings / SublimeTmpl, 可以编辑菜单/快捷键/新语法等等.
如果你想贡献自己的package, 可以参考我这篇文章的介绍:
https://xhl.me/archives/how-to-submit-a-sublime-package/
新增特性:
1. 用户自定义模板 (Thanks @Xu Cheng)
自定义模板路径: "Data\Packages\User\SublimeTmpl\templates" 目录, 会优先使用(可以参考:默认的模板).
默认模版路径: "Data\Packages\SublimeTmpl\templates" 目录.
用自己自定义的模板: 推荐把默认模版目录的*.tmpl文件 复制到 自定义模板路径, 再去修改.
2. 模板支持 ${date} 变量
settings - user里面可以修改${date}默认的输出格式("%Y-%m-%d %H:%M:%S"), 比如改成: "date_format" : "%Y-%m-%d"
3. 模板支持自定义 attr
settings - user里添加:
"attr": { "author": "your name" , "email": "mail@yours.com", "link": "http://yours.com", "hello": "word" }
就能在模板中使用 ${author} ${email} ${link} ${hello} 变量
Thanks @vfasky (Blog)
4. 保存文件时支持: ${saved_filename}, ${saved_filepath} 变量, settings - user里添加:
"enable_file_variables_on_save": true, // 开启
文件保存时, 上面的2个变量会替换为: 保存的文件名, 和文件路径.
5. 支持: ${project_base_name}, ${project_path} and ${platform} 变量, settings - user里添加:
"enable_project_variables": true, // 开启
Note: 仅ST3支持, 上面的3个变量会替换为: 项目名, 项目路径, 当前系统环境.
另外, 关于新增语言的附加说明
1. 新增SublimeTmpl里面没有的语言
1.1 新增.tmpl文件:
自定义模板目录 (`Preferences - Browse Packages`, `User/SublimeTmpl/templates`), 新增比如 `html5.tmpl`.
1.2 配置语言:
首先参考: `Packages Settings / SublimeTmpl / Settings - Default` 的默认设置.
新增语法, 选择: `SublimeTmpl / Settings - User`, 比如:
{ "html5": { // new "syntax": "Packages/HTML/HTML.tmLanguage", "extension": "html" // default_extension }, "vue": { // new "syntax": "Packages/Vue Syntax Highlight/vue.tmLanguage", "extension": "vue" }, // "disable_keymap_actions": "html, js, python", // "all" "enable_project_variables": true, // ${project_base_name}, ${project_path} and ${platform} "enable_file_variables_on_save": true, // ${saved_filename}, ${saved_filepath} on save file "attr": { "author": "Your Name", "email": "you@example.org", "link": "http://example.org" } }
`html5`:对应`html5.tmpl`, `syntax`是Packages目录内的syntax路径, `extension`是默认保存时使用的扩展名.
新增开始菜单: `SublimeTmpl / Settings - Menu`, 参照 `Menu - Default`.
新增快捷键: `SublimeTmpl / Key Bindings User`, 参照 `Key Bindings Default`.
2. 新增Sublime的语言
这个我也没新建过, 可以去Package Control或者github上面找个其他人添加的新语言, 参考参考.
如果没找到别人写好的, 可以参考如下网址, 自己做:
http://docs.sublimetext.info/en/latest/extensibility/syntaxdefs.html (官方文档, 利用AAAPackageDev这个插件制作)
http://manual.macromates.com/en/language_grammars (textmate的doc, 和sublime大部分是相同的)
https://github.com/LearnBoost/stylus/blob/master/editors/Stylus.tmbundle/Syntaxes/Stylus.tmLanguage (别人写好的语法, 可以和自己新建的对比)
[...] 新增语言:你还可以增加模板文件夹中没有的文件模板,并做相应的设置来使用这一功能。具体可以参考它的中文文档:http://www.fantxi.com/blog/archives/sublime-template-engine-sublimetmpl/[...]
保存Python文件时,默认为.py3,请问怎么修改为默认py
windows下面的Sublime好像是这样, 这个保存其实是Sublime自己的动作了. 貌似没解, 还是用另存为吧.
怎样新建一个sass的模板然后设置快捷键呢?
1. SublimeTmpl的setting里增加这些:
"sass": {
"syntax": "Packages/SCSS/SCSS.tmLanguage" // 或这个 "Packages/Sass/Syntaxes/Sass.tmLanguage"
},
2. Packages/User/SublimeTmpl/templates里增加sass.tmpl
3. 快捷键在Key Bindings User里面加, 比如:
{
"keys": ["ctrl+alt++s"], "command": "sublime_tmpl",
"args": {"type": "sass"}, "context": [{"key": "sublime_tmpl.sass"}]
},
4. File菜单,new File的menu, 可以增加:
{
"caption": "sass",
"command": "sublime_tmpl",
"args": {"type": "sass"}
},
推荐只加个File menu的菜单就可以了, 快捷键太多了容易冲突.
出错啊,应该提示是没有找到Packages/SCSS/SCSS.tmLanguage这个东西
SCSS的语法需要自己安装的哦
想问下新建js文件后自动生成的作者信息什么的应该在哪里改啊?
请看: 3. 模板支持自定义 attr
我新建个LaTeX模板,新建文件时会把模板里面的换行符 \\(双斜杠) 变成 \(单斜杠),所以在写LaTeX模板时要把换行符写成 \\\(三斜杠)
并且新建文件里面有些东西需要写成 {\\}这种,相应的模板需要写成{\\\\} 或者 {\\\\\} 这样才行
模板支持自定义 attr,添加了但没有变化呢,要怎么查找原因呢?
找到原因了,是在这个插件的自定义值下面添加,我再全局的那边添加了OMG
建议先改author信息(js模板里默认读了${author}的), 然后再尝试增加其他的attr, 并找出不同.
[...] http://www.fantxi.com/blog/archives/sublime-template-engine-sublimetmpl/[...]