VIM的Ultisnips插件如何处理HTML剪辑内部的删除?如何在div中将id更改为class?

时间:2013-07-19 21:18:42

标签: vim snipmate ultisnips

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

<div id="name">

</div>

将光标放在名称上。如果我不想使用类而不是id,我会按退格键来获取此

<div>

</div>

将光标放在第一个v。现在,如果我想开始输入'class',我最终会用这个

<diclassv>

</div>

如果我删除了课程并点击[esc] l''class',我最终会得到这个

<div id=" "class>

</div>

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

我想要

<div class="foo">

</div>

1 个答案:

答案 0 :(得分: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上的official version UltiSnips现在包含此版本的代码段。