32

我正在尝试使用 Sublime Text2 创建一些代码“Snippets”,除了我尝试添加 jQuery 代码外,一切正常。显然,任何包含以 a 开头的行的“片段”代码$都将无法正常工作。我在网上找不到任何关于此的答案。

4

2 回答 2

71

你试过$用 a转义\吗?

例如在 PHP 中,$GLOBALS 片段是:

<snippet>
    <content><![CDATA[\$GLOBALS['${1:variable}']${2: = }${3:something}${4:;}$0]]></content>
    <tabTrigger>globals</tabTrigger>
    <scope>source.php</scope>
    <description>$GLOBALS['…']</description>
</snippet>

正如您在 中看到的<content>,$GLOBALS 表示为 \$GLOBALS。这是因为 $ 是用于 ${1:variable} 等字段的符号。

于 2012-08-12T08:48:56.907 回答
6

虽然本身不​​是“答案”,但我的评论更像是一个例子。

我有同样的问题,但在 Sublime Text 2 中创建 jQuery 的速记document.ready函数片段。

有了你的回答,我就能让它工作:

<snippet>
  <content><![CDATA[
    \$(function(){
      \$("$1").$2("$3");
     });
  ]]></content>
     <tabTrigger>jq</tabTrigger>
</snippet>

键入jq,按TAB,您会得到:

$(function(){
    $("|").("");
});

请注意,光标位于第一组括号内,这是由$1代码段中的 引起的。输入完值后,TAB再次按下,光标将移动到方法所在的$2位置,即代码段中的位置。再按TAB一下,光标移到第二组括号 where $3is。

希望这对其他人有帮助。

于 2012-11-29T17:24:23.090 回答