【问题标题】:Sublime text 3 erases snippet trigger instead of inserting snippetSublime text 3 删除片段触发器而不是插入片段
【发布时间】:2020-03-27 18:54:19
【问题描述】:

我正在尝试使用以下 sublime sn-p 来快速创建 LaTeX 文档:

<snippet>
    <content><![CDATA[
\def\HWset{$1}
\def\myname{MyName}              
\documentclass{CustomClassFromMyProfessor}
\usepackage{bigints}
\usepackage{amsmath}
\usepackage{tikz}
\newcommand{\cord}{\coordinate}
\newcommand\ddfrac[2]{\frac{\displaystyle #1}{\displaystyle #2}}
\newcommand{\eps}{\epsilon}
\newcommand{\p}{\partial}
\newcommand{\er}{\bv{e}_r}
\newcommand{\ephi}{\bv{e}_\varphi}
\newcommand{\etheta}{\bv{e}_{\theta}}
\newcommand{\ez}{\bv{e}_z}
\newcommand{\ex}{\bv{e}_x}
\newcommand{\ey}{\bv{e}_y}
\newcommand{\qed}{$\hfill\blacksquare$\\}
\usepackage{mathtools}
\DeclarePairedDelimiter\br{\langle}{\rvert}
\DeclarePairedDelimiter\kt{\lvert}{\rangle}
\DeclarePairedDelimiterX\brkt[2]{\langle}{\rangle}{#1 \delimsize\vert #2}

\newcommand\brktt[3]{\left< #1 \right| #2 \left| #3 \right>}

\begin{document}
\textbf{$2}
\makeHWtitle

\problem{$3}
$4

\end{document}
]]></content>
    <!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
    <tabTrigger>newhw</tabTrigger>
    <!-- Optional: Set a scope to limit where the snippet will trigger -->
    <!-- <scope>source.python</scope> -->
</snippet>

但是,当我尝试实际使用它时,输入:newhw,然后按 Tab 只会删除 newhw,而不插入任何内容。

这个 sn-p 实际上在某个时候工作,所以我很困惑为什么它停止了。我也知道我可能应该只创建自己的文档类,但这听起来相当令人生畏,特别是因为我必须合并我没有编写的自定义类,但我还没有真正研究过。

【问题讨论】:

    标签: latex sublimetext3 code-snippets


    【解决方案1】:

    您的 sn-p 正文中包含一些无效文本,因为它在第 19 行有一些未转义的 $ 字符:\newcommand{\qed}{$\hfill\blacksquare$\\}。用\ 字符作为前缀,告诉Sublime 后面的$ 字符不是特殊字符将解决问题。

    作为背景,$ 字符在 sn-p 中是特殊的(以及在 Sublime 中支持扩展变量的各种其他地方)并表示要扩展的变量的名称(或者在 sn 的情况下) -p,字段的占位符)。

    通常当您指定一个不存在的变量时(例如$cool),结果是该变量扩展为一个空字符串。在这种特殊情况下,变量看起来像 $\$\\,这不是一个有效的变量名。在幕后整个扩展失败,导致整个sn-p插入失败。

    作为一般建议(完全没有隶属关系)PackageDev 包在其功能中包括针对各种 Sublime 文件类型的增强语法突出显示,这可以使这类问题更加明显。例如,在这里您可以看到未转义的 $ 字符被突出显示为无效(并且占位符也被突出显示):

    【讨论】:

    • 谢谢!多么令人讨厌的错误。
    猜你喜欢
    • 1970-01-01
    • 2016-01-24
    • 1970-01-01
    • 2017-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多