Ultisnips:使用单个ex命令禁用某些剪接的选项?

2024-05-20 14:10:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我在写Latex,最近发现了以下一些片段:

snippet // "Fraction" iA
\\frac{$1}{$2}$0
endsnippet

snippet '((\d+)|(\d*)(\\)?([A-Za-z]+)((\^|_)(\{\d+\}|\d))*)/' "Fraction" wrA
\\frac{`!p snip.rv = match.group(1)`}{$1}$0
endsnippet

priority 1000
snippet '^.*\)/' "() Fraction" wrA
`!p
stripped = match.string[:-1]
depth = 0
i = len(stripped) - 1
while True:
    if stripped[i] == ')': depth += 1
    if stripped[i] == '(': depth -= 1
    if depth == 0: break;
    i -= 1
snip.rv = stripped[0:i] + "\\frac{" + stripped[i+1:-1] + "}"
`{$1}$0
endsnippet

snippet / "Fraction" iA
\\frac{${VISUAL}}{$1}$0
endsnippet

对于我的逻辑类,我们使用符号v(u/y)来表示一些东西,但是我不希望u/y变成一个分数。通常我所做的是暂时注释掉这些片段,对于我的概率类,当我确实需要分数时,取消注释它们

显然,这是对终极剪报效用的嘲弄。例如,我如何通过发出一个简单的ex命令来注释掉这些东西(而不注释掉我的tex.snippets的其余部分)来让我的生活变得更轻松呢?有没有别的办法让我的生活更轻松


Tags: ifmatch分数snipsnippetlatexdepthia
1条回答
网友
1楼 · 发布于 2024-05-20 14:10:28

如果格式总是像示例一样,那么可以使用tpope/注释来完成

:g/Fraction/norm gcap

否则,您需要在文件中找到适当的范围并执行以下操作

:[range]s/^/"/

是否可以在逻辑类中使用v(u|y),完全避免代码片段?或者,在处理这些文件时禁用代码段的自动触发(我认为Ultisnips需要触发器)

相关问题 更多 >