UltiSnips:如何使占位符为可选

问题描述 投票:0回答:1

我必须创建看起来像这样的东西:

\begin{frame}[fragile]{frame title}
  lorem ipsum ...
\end{frame}

注意,[fragile]部分是可选的。也就是说,如果我在$1占位符中输入一些文本,则应包括方括号。如果我没有在$1占位符中输入文本,则根本不需要括号。

我不确定如何将$1占位符设为可选。到目前为止,我已经创建了此代码段,除了可选部分外,它执行所有操作。

snippet frame "frame environment" b
\begin{frame}[$1]{${2:frame title}}
  ${0:${VISUAL}}
\end{frame}
endsnippet

我如何使一个可选的占位符在没有给出任何文本时消失?

optional code-snippets ultisnips
1个回答
0
投票

这是一个非常简单的代码段,我认为它将解释可选的占位符:

snippet \dc "Document Class" b
\documentclass${1:[${2:options}]}{${3:class}}
$0
endsnippet

这是它的工作方式:

  • 键入\dc,然后按<tab>
  • \documentclass[options]{class}文本将突出显示[options]
  • 此时,您可以按<backspace>并删除整个[options]部分(包括方括号),然后按<C-j>(向前触发键盘映射)以继续使用{class}占位符,依此类推...
  • 或者您可以按<C-j>并继续更改方括号内的[options]占位符。然后再次按<C-j>跳到{class}占位符,依此类推。
© www.soinside.com 2019 - 2024. All rights reserved.