2

我是 Ultisnips 的新手。在插入模式下,我输入 div [tab] 然后我得到:

<div id="name">

</div>

将光标放在名称上。如果我不想使用 class 而不是 id 我按退格键并得到这个

<div>

</div>

将光标放在第一个 v 上。现在,如果我想开始输入“类”,我会得到这个

<diclassv>

</div>

如果我删除类并点击 [esc] li 'class' 我最终会得到这个

<div id=" "class>

</div>

这里发生了什么?我究竟做错了什么?

我想

<div class="foo">

</div>
4

1 回答 1

3

我也没有找到一种方法来做你正在寻找的事情,至少使用标准片段定义。

我已经创建了一个改进的代码片段,您可以通过将以下内容放入~/.vim/UltiSnips/html.snippets(我的该文件版本可从 GitHub获得)开始使用:

clearsnippets div
snippet div "XHTML <div>"
<div`!p snip.rv=' id="' if t[1] else ""`${1:name}`!p snip.rv = '"' if t[1] else ""``!p snip.rv=' class="' if t[2] else ""`${2:name}`!p snip.rv = '"' if t[2] else ""`>
   $0
</div>
endsnippet

默认情况下,这将同时提供idclass属性,消除删除值的那些。

GitHub 上的UltiSnips官方版本现在包含此版本的代码片段。

于 2013-07-19T21:59:28.440 回答