参考教程 手把手教你写Sublime中的Snippet
针对其中的几个格式,列出代码和对应的效果图方便理解
1. snippet环境变量
<snippet>
<content><![CDATA[
=================================
$TM_FILENAME 编写中的文件名,含后缀名
$TM_FILEPATH 编写中的文件全路径
$TM_LINE_INDEX 插入点在该行中的第几列
$TM_LINE_NUMBER 插入点在文件中的第几行
=================================
]]></content>
<!-- 代码提示 -->
<tabTrigger>sample</tabTrigger>
<!-- 以什么后缀名结尾的文件里可使用这个代码段 -->
<scope>source.lua</scope>
</snippet>
2. snippet Fields
<snippet>
<content><![CDATA[
=================================
开始输入点: $1
按下tab键后跳到这: $2
可以跟上面同时编辑: $2
=================================
]]></content>
<!-- 代码提示 -->
<tabTrigger>sample</tabTrigger>
<!-- 以什么后缀名结尾的文件里可使用这个代码段 -->
<scope>source.lua</scope>
</snippet>
- 开始时界面
- 按下
Tab
后
3. snippet Placeholders
<snippet>
<content><![CDATA[
=================================
可以设置默认值: ${1:默认文字}
后面相同的变量都会有这个默认值: $1
并且可以统一修改: $1
可以设置环境变量为默认值: ${2:$TM_FILENAME}
=================================
]]></content>
<!-- 代码提示 -->
<tabTrigger>sample</tabTrigger>
<!-- 以什么后缀名结尾的文件里可使用这个代码段 -->
<scope>source.lua</scope>
</snippet>
4. snippet Substitutions
这个在文章中没有详细描述,可以查看官方文档
使用以下两种格式可以用正则表达式替换变量中的值
- ${变量名/正则表达式/替换的格式/}
- ${变量名/正则表达式/替换的格式/可选参数}
可选参数如下
- i
不区分大小写 - g
匹配到的都替换 - m
多行模式
- i
<!-- 示例1 -->
<snippet>
<content><![CDATA[
=======================================================
设置变量初始值: ${1:default value DEFAULT_VALUE}
替换第一个e为^: ${1/e/^/}
使用参数g替换所有小写e为^: ${1/e/^/g}
使用参数ig替换所有大小写e为^: ${1/e/^/ig}
替换所有字符为^: ${1/./^/g}
=======================================================
]]></content>
<!-- 代码提示 -->
<tabTrigger>sample</tabTrigger>
<!-- 以什么后缀名结尾的文件里可使用这个代码段 -->
<scope>source.lua</scope>
</snippet>
<!-- 示例2 -->
<snippet>
<content><![CDATA[
=======================================================
变量名可以是环境变量: $TM_FILENAME
可以用正则表达式的匹配结果作为替换
无后缀的文件名: ${TM_FILENAME/^(\w+)\.(\w+)$/$1/}
文件后缀名: ${TM_FILENAME/(\w+)\.(\w+)$/$2/}
=======================================================
]]></content>
<!-- 代码提示 -->
<tabTrigger>sample</tabTrigger>
<!-- 以什么后缀名结尾的文件里可使用这个代码段 -->
<scope>source.lua</scope>
</snippet>