Ultisnips:用一个ex命令禁用一些狙击的选项



我正在写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实际上变成一个分数。通常我所做的是暂时注释掉这些片段,对于我的概率类,当我确实想要分数时,取消注释。

显然,这是对Ultisnips效用的嘲弄。例如,我如何通过发出一个简单的ex命令来注释这些内容(而不注释我的tex.snippets的其余部分(来让我的生活更轻松?还有其他办法让我的生活更轻松吗?

如果格式总是像示例一样,您可以使用tpope/注释来进行

:g/Fraction/norm gcap

否则,你需要在文件中找到合适的范围并进行

:[range]s/^/"/

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

最新更新