代码片段

和Textmate兼容

Sublime Text的代码片段和Textmate兼容.

文件格式

代码片段文件是以sublime-snippet为后缀的XML文件.

<snippet>
    <content><![CDATA[]]></content>
    <tabTrigger></tabTrigger>
    <scope></scope>
    <description></description>
</snippet>
content
表示实际代码片段的内容.
tabTrigger
此片段的缩写代码,可以按 TAB键触发.
scope
指在何种文件类型中使用.
description
在菜单中的友好提示.(注:不可用)

转义字符

\$
表示 $符号.

环境变量

$PARAM1 .. $PARAMn 通过insertSnippet 命令可传递该参数.
$SELECTION 按键触发时选中的文字.
$TM_CURRENT_LINE 按键触发时当前行的内容.
$TM_CURRENT_WORD 按键触发时当前光标所在的单词.
$TM_FILENAME 当前编辑的文件名,含后缀.
$TM_FILEPATH 当前编辑文件的路径.
$TM_FULLNAME 当前用户名.
$TM_LINE_INDEX 光标插入处的列数,默认为0.
$TM_LINE_NUMBER 光标插入处的行数,默认为1.
$TM_SELECTED_TEXT $SELECTION表示同样的含义.
$TM_SOFT_TABS 如果translateTabsToSpaces为真的时候,值为YES, 否则为 NO.
$TM_TAB_SIZE Spaces per-tab (controlled by the tabSize option).

变量

片段中可编辑位置,可以使用TAB 或者 SHIFT + TAB进行切换.

语法: $1 .. $n

$0
退出编辑. 从这个位置开始以后进行正常文本编辑. 默认到达代码段的 content元素结束处即可退出编辑.

同名的变量会同时输出.

占位符

带默认值的变量.

语法: ${1:PLACE_HOLDER} .. ${n:PLACE_HOLDER}

变量与占位符可以混合并嵌套在其他占位符中.

替换

语法:

  • ${var_name/regex/format_string/}
  • ${var_name/regex/format_string/options}
var_name
根据变量名称中的 1, 2, 3… 进行替换
regex
Perl风格的正则表达式: 参考 Boost library documentation 的 正则表达式.
format_string
参考 Boost library documentation 的 字符格式化.
options
可选项. 下面的参数任选:
i
大小写敏感的正则.
g
替换的正则所有处 .
m
不忽略字符中的新行.

Project Versions

Table Of Contents

Previous topic

Reference

Next topic

Syntax Definitions

This Page