vim - VIM 的 Ultisnips 插件如何处理 HTML 片段内的删除?如何将div中的id更改为class?

标签 vim snipmate ultisnips

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

<div id="name">

</div>

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

<div>

</div>

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

<diclassv>

</div>

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

<div id=" "class>

</div>

这是怎么回事?我做错了什么?

我要

<div class="foo">

</div>

最佳答案

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

我已经创建了一个改进的代码片段,您可以通过放置来开始使用 ~/.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 属性,从而消除 删除该值的一个或多个。

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

关于vim - VIM 的 Ultisnips 插件如何处理 HTML 片段内的删除?如何将div中的id更改为class?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17755664/

相关文章:

Vim 折叠 HTML5 样板 CSS?

vim - 防止 vim 在输入时自动折叠

vim - 移动 vim 文件位置会破坏 snipmate.vim?

vim - SnipMate与病原体

java - 在 Vim 中使用 UltiSnip 生成 getter 和 setter

git - 使用 Vim 自动更新版本;没有 SVN,我使用 Git

vim - 在没有 <c-> 和 i_ctrl_v 的情况下映射 GVim 中的控制键

regex - 在替换中使用 vim 的 printf

Vim-snipmate 与 vundle install 不起作用