sublimetext snippet文档

SublimeText2开始不再能够良好的支持Zen-Coding, 不过自己的snippet定义功能也十分强大, 类似VAssist.
在菜单tool->New Snippet中定义. 打开后是空白的snippet模板.
在 <content><![CDATA[ 和 ]]></content>之前为要定义的内容块,
在 <tabTrigger> 与 </tabTrigger> 之间定义快捷名称,
在 <scope> 与 </scope> 之间定义该snippet作用的文件类型.
例如当需要输入html5这几个字符后按tab, 就能展开为红色部分:

<snippet>
<content><![CDATA[
<!DOCTYPE HTML>
<html>
<head>
    <meta charset="UTF-8">
    <title>${1}</title>
</head>
<body>
    <h1>${1}</h1>
    Hello, ${2:this} is a ${3:snippet}!
</body>
</html>
]]></content>
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
<tabTrigger>html5</tabTrigger>
<!-- Optional: Set a scope to limit where the snippet will trigger -->
<scope>text.html</scope>
</snippet>

编写好此文件后ctrl+s会弹出默认的保存路径, 一般是..\Data\Packages\User,
文件名必须以.sublime-snippet为后缀.
如此文件可保存为html5.sublime-snippet或者其他前缀名称. 一个文件中只能有一个snippet.
${1}支持补全后光标默认停留的位置, 编辑完成此处内容后按tab可以跳转到${2}的位置,
this表示2处默认内容,tab之后会选中this,${3:snippet}同理.
关于<scope>,官方定义如下:

ActionScript: source.actionscript.2
AppleScript: source.applescript
ASP: source.asp
Batch FIle: source.dosbatch
C#: source.cs
C++: source.c++
Clojure: source.clojure
CoffeeScript: source.coffee
CSS: source.css
D: source.d
Diff: source.diff
Erlang: source.erlang
Go: source.go
GraphViz: source.dot
Groovy: source.groovy
Haskell: source.haskell
HTML: text.html(.basic)
JSP: text.html.jsp
Java: source.java
Java Properties: source.java-props
Java Doc: text.html.javadoc
JSON: source.json
Javascript: source.js
BibTex: source.bibtex
Latex Log: text.log.latex
Latex Memoir: text.tex.latex.memoir
Latex: text.tex.latex
LESS: source.css.less
TeX: text.tex
Lisp: source.lisp
Lua: source.lua
MakeFile: source.makefile
Markdown: text.html.markdown
Multi Markdown: text.html.markdown.multimarkdown
Matlab: source.matlab
Objective-C: source.objc
Objective-C++: source.objc++
OCaml campl4: source.camlp4.ocaml
OCaml: source.ocaml
OCamllex: source.ocamllex
Perl: source.perl
PHP: source.php
Regular Expression(python): source.regexp.python
Python: source.python
R Console: source.r-console
R: source.r
Ruby on Rails: source.ruby.rails
Ruby HAML: text.haml
SQL(Ruby): source.sql.ruby
Regular Expression: source.regexp
RestructuredText: text.restructuredtext
Ruby: source.ruby
SASS: source.sass
Scala: source.scala
Shell Script: source.shell
SQL: source.sql
Stylus: source.stylus
TCL: source.tcl
HTML(TCL): text.html.tcl
Plain text: text.plain
Textile: text.html.textile
XML: text.xml
XSL: text.xml.xsl
YAML: source.yaml

#3 snippet的正则替换

// 大写空格转下划线
Transformation: ${1/^(\w)|(?:_(\w))/(?1\u$1:)(?2 \u$2:)/g}
      Original: ${1:text_in_snail_case}
# Output:
Transformation: Text In Snail Case
      Original: text_in_snail_case

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,324评论 25 708
  • 贾宝玉梦游太虚,有美一人踏歌而至:“春梦随云散,飞花逐水流。寄言痴儿女,何必觅闲愁?”正太虚幻境警幻仙姑是也,司人...
    人境庐主人阅读 801评论 2 5
  • 今朝有酒今朝醉 今生活着才珍贵 太阳每一天都是新的 我们每一天都是真的 人活着 就要不断提升自己 改变生活 创造生...
    快乐灵芝阅读 302评论 17 25
  • 持续更新 逻辑存储结构 InnoDB存储引擎的逻辑存储结构和Oracle几乎一样,从大到小分别为:表空间、段、区、...
    xiewen阅读 1,282评论 0 1
  • 题目描述度度熊和爷爷在玩一个乘法表游戏。乘法表的第i行第j列位置的元素为ij,并且乘法表下标编号从1开始,比如2 ...
    yuanxiaolan阅读 1,462评论 0 0

友情链接更多精彩内容