Sublime Text 连续片段

Sublime Text consecutive snippets

每当我键入关键字并按 Tab 键以使用我的代码段时,我必须通过单击鼠标将光标放在其他地方才能使用另一个代码段。 那一点都不好。我希望能够键入 tk;tab 以获取

\begin{tikzpicture}
  |
\end{tikzpicture}

我的光标在管道上。到目前为止这有效。但是现在我想在这个地方输入 dr 来完成 \draw。虽然我写了这个片段,但它不起作用。那么如何连续使用多个片段呢?

很高兴得到大家的帮助

我的猜测是您在第一个片段中使用了 </code>,所以它看起来像这样(除了我没有使用 <code>latex 范围):

<snippet>
    <content><![CDATA[
\begin{tikzpicture}
  
\end{tikzpicture}
]]></content>
    <tabTrigger>tk</tabTrigger>
</snippet>

当 Sublime 展开片段时,它允许您按数字顺序在所有字段中切换,然后 "exits" 片段。片段的默认退出点在片段中的最后一个字符之后。

因此,如果您要展开此代码段,它会在 </code> 的位置插入光标,现在它正在等待您输入字段 <code> 的内容。如果您查看状态行,您会看到它显示 Field 1 of 2 告诉您您正处于代码片段的中间(字段 2 是代码片段 "ends" 所在的位置)。

如果你的代码片段像那样工作,你必须手动告诉 Sublime 你已经完成了代码片段,例如通过移动光标或按 Escape

特殊的代码段字段 [=16=] 告诉 Sublime 在您完成代码段后您希望光标结束的位置。如果您未明确指定,则假定它位于摘要文本的末尾。

如果整个代码段只是为了扩展到该文本以让您输入其中的内容,您可以将代码段更改为使用 [=16=] 而不是 </code>。</p> <p>当您这样做时,在最初的文本扩展之后,Sublime 找不到您可以输入的字段并立即退出代码段,将光标留在位置 <code>[=16=]。从那时起,您可以毫无问题地使用新代码段: