Snippets¶
Compatibility with Textmate¶
Sublime Text snippets are generally compatible with Textmate snippets.
File Format¶
Snippet files are XML files with the sublime-snippet
extension.
<snippet>
<content><![CDATA[]]></content>
<tabTrigger></tabTrigger>
<scope></scope>
<description></description>
</snippet>
content
- Actual snippet content.
tabTrigger
- Implicit keybinding for this snippet. Last key (implicit) is
TAB
. scope
- Scope selector to activate this snippet.
description
- User friendly description for menu item.
Escape Sequences¶
\$
- Literal
$
.
Environment Variables¶
$PARAM1 .. $PARAMn |
Arguments passed to the insertSnippet command. |
$SELECTION |
The text that was selected when the snippet was triggered. |
$TM_CURRENT_LINE |
Content of the line the cursor was in when the snippet was triggered. |
$TM_CURRENT_WORD |
Current word under the cursor when the snippet was triggered. |
$TM_FILENAME |
File name of the file being edited including extension. |
$TM_FILEPATH |
File path to the file being edited. |
$TM_FULLNAME |
User’s user name. |
$TM_LINE_INDEX |
Column the snippet is being inserted at, 0 based. |
$TM_LINE_NUMBER |
Row the snippet is being inserted at, 1 based. |
$TM_SELECTED_TEXT |
An alias for $SELECTION . |
$TM_SOFT_TABS |
YES if translateTabsToSpaces is true, otherwise NO . |
$TM_TAB_SIZE |
Spaces per-tab (controlled by the tabSize option). |
Fields¶
Mark positions to cycle through by pressing TAB
or SHIFT + TAB
.
Syntax: $1
.. $n
$0
- Exit mark. Position at which normal text editing should be resumed. By default,
Sublime Text implicitly sets this mark at the end of the snippet’s
content
element.
Fields with the same name mirror each other.
Place Holders¶
Fields with a default value.
Syntax: ${1:PLACE_HOLDER}
.. ${n:PLACE_HOLDER}
Fields and place holders can be combined and nested within other place holders.
Substitutions¶
Syntax:
${var_name/regex/format_string/}
${var_name/regex/format_string/options}
var_name
- The field’s name to base the substitution on: 1, 2, 3…
regex
- Perl-style regular expression: See the Boost library documentation for regular expressions.
format_string
- See the Boost library documentation for format strings.
options
- Optional. Any of the following:
i
- Case-insensitive regex.
g
- Replace all occurrences of
regex
. m
- Don’t ignore newlines in the string.