我修改了UltiSnip doc给出的示例:
snippet "be(gin)?( (\S+))?" "begin{} / end{}" br
\begin{${1:`!p
snip.rv = match.group(3) if match.group(2) is not None else "something"`}}${2:`!p
if match.group(2) is not None and match.group(3) != "proof":
snip.rv = "\label{"+t[1]+":}"`}
${3:${VISUAL}}
\end{$1}$0
endsnippet
和原来的相比,它加了一个\label{envname:}
,如果envname
是proof
,那么我们没有加。当我们编写thm
环境时,这会很有帮助
be lem<tab>
将给出
\begin{lem}\label{lem:}
<c-j>
\end{lem}
唯一的缺点是,我不知道如何在\label{lem:$4}
位置添加占位符。你知道吗?你知道吗
我得到了一个工作版本,但代码不干净:
snippet "be(gin)?( (\S+))?" "begin{} / end{}" br \begin{${1:`!p snip.rv = match.group(3) if match.group(2) is not None else "something"`}}${2:`!p if match.group(2) is not None and match.group(3) != "proof": snip.rv = '\label{'+t[1]+':'`$4`!p if match.group(2) is not None and match.group(3) != "proof": snip.rv ='}'`} ${3:${VISUAL}} \end{$1}$0 endsnippet
相关问题 更多 >
编程相关推荐