专注于WEB前端开发, 追求更好的用户体验, 更好的开发体验 [长沙前端QQ群:234746733]

Sublime Text 新建文件的模版插件: SublimeTmpl

写了个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": "[email protected]",
    "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": "[email protected]",
        "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 (别人写好的语法, 可以和自己新建的对比)

/ 分类: 工具,实践 / TrackBackhttps://xhl.me/archives/sublime-template-engine-sublimetmpl/trackback标签: sublime, 插件

已有 84 条评论 »

  1. weic weic

    快捷键冲突,ctrl+alt+p,想修改,没修改成功

    1. kairyou kairyou

      请检测你配置是否有问题, 添加如下到key bindings - user, 我测试正常.
      {
      "keys": ["ctrl+alt+5"], "command": "sublime_tmpl",
      "args": {"type": "php"}, "context": [{"key": "sublime_tmpl.php"}]
      },

      1. weic weic

        好了,我昨天没有添加keys,谢谢,建议将sublimetmpl配置设置给一个说明,网上关于这个比较少

      2. weic weic

        设置完成后,但是ctrl+alt+p还是会生成php文件,怎样才能让这个快捷键不生效

      3. kairyou kairyou

        谢谢, 已经增加: 关闭默认快捷键 的说明, 可以配置: disabled_keymap_actions

  2. Sublime Text 3 超详细图文教程-系统DIY

    [...] 新增语言:你还可以增加模板文件夹中没有的文件模板,并做相应的设置来使用这一功能。具体可以参考它的中文文档:http://www.fantxi.com/blog/archives/sublime-template-engine-sublimetmpl/[...]

  3. huangpu huangpu

    不知为何,Newfile 菜单里的内容全是灰色的,只有一个menu可以点,打开是个空文件。

    1. kairyou kairyou

      你好, 可以告知你的ST版本/系统, 还有是通过packagecontrol安装的吗?

  4. 哈登 哈登

    您好,请问一下,我添加了一个jsp模板,但是一直提示找不到这个文件tmLanguahe,请问一下是怎么回事呢

    1. kairyou kairyou

      你好,我抽时间试试,最近项目比较忙,sorry

    2. kairyou kairyou

      我用ST3测试了下, 是正常的. 比如新建了jsp.tmpl, 并配置了:
      "jsp": {
      "syntax": "Packages/Java/Java.tmLanguage", "extension": "jsp"
      },
      而且,Java.tmLanguage 是ST自带的, 理论不会出现这个提示.

  5. sylar sylar

    其实插件不错,就是不知道为什么不能右键菜单呢?保存文件经常要选择目录好折腾。。。。。作者加油!

  6. mektpoy mektpoy

    请问如何添加创建C++的快捷键
    我在user里面加入了
    {
    "keys": ["ctrl+alt+5"], "command": "sublime_tmpl",
    "args": {"type": "c++"}, "context": [{"key": "sublime_tmpl.c++"}]
    }
    但是按ctrl+alt+5并没有反应
    另外ctrl+shift+p也没有create c++
    现在是只能在new file(st tmpl)正常加入c++模板

    1. kairyou kairyou

      直接粘贴了你的配置到 Key Bindings User, 测试ctrl+alt+5正常, 如果你那没反应, 估计是其他插件里面也有这个快捷键, 冲突了.

  7. Good links for a studentR17;s study and life in NJAU R11; NJAU-XYZ

    [...]windows下python安装Numpy和Scipy模块editplus配置python开发环境_百度经验python访问需要登录的网页如何在Python中实现这五类强大的概率分布PyQt downloadPython Extension Packages for Windows 轮子们Python 3开发网络爬虫(一) – Python教程Python Extension Pack[...]

添加新评论 »