Sublime Text连续片段

时间:2017-12-08 18:34:02

标签: latex sublimetext3 code-snippets sublimetext-snippet

每当我输入一个关键字并按Tab键使用我的代码片段时,我必须通过鼠标单击将光标放在其他位置以使用另一个代码段。 多数人并不擅长。我希望能够输入tk; tab来获取

\begin{tikzpicture}
  |
\end{tikzpicture}

我的光标位于管道上。这项工作到目前为止。但是现在我想以类型dr来完成在这个地方\画画。虽然我写了这个片段,但它并不起作用。那么如何连续使用多个片段呢?

非常高兴每一次帮助

1 个答案:

答案 0 :(得分:1)

我的猜测是您在第一个代码段中使用$1,因此它看起来像这样(除了我没有使用latex范围):

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

当Sublime展开一个代码段时,它允许您按数字顺序标记所有字段,然后“退出”该代码段。代码段的默认退出点位于代码段中的最后一个字符之后。

因此,如果您要展开此代码段,它会将光标插入$1的位置,现在它正在等待您输入字段$1的内容。如果您查看状态行,您会看到它Field 1 of 2告诉您,您正处于片段中间(字段2是片段“结束”的位置)。

如果你的代码段是这样的,你必须手动告诉Sublime你已经完成了代码片段,例如移动光标或按 Escape

特殊片段字段$0告诉Sublime,一旦完成代码片段,您希望光标结束。如果您没有明确指定它,则假定它位于代码段文本的末尾。

如果整个代码段只是为了扩展到该文字以便您输入内容,则可以将代码段更改为使用$0代替$1

当您这样做时,在初始文本扩展后,Sublime找不到您要输入的字段,只是立即退出代码段,将光标留在$0位置。从那时起,您可以使用新的代码段而不会出现任何问题:

Sample Multi Snippet Expansion