所以我继续使用vim ...我在这里有这段HTML:
<div id=container>
<ol>
<li><h1>banner</h1></li>
<li><first_item</li>
<li><second_item</li>
<li><third_item</li>
<li><fourth_item</li>
</div>
div标签从第17行开始。我将标题移出列表但仍在div标记内。我的举动是:
然后有关于删除标签的下一个问题 - 很可能有一个插件可以帮助我,我现在将会追捕它。
我做了多久的啰嗦?有没有更快捷的方式或更有效的方法来实现这一目标? (不包括删除标题周围列表标签的内容。
答案 0 :(得分:4)
蒂姆·波普的unimpaired plugin以及我的LineJuggler plugin提供]e
映射以快速移动线路。这样,您可以使用1[e
将行从19移动到17(即超过18)。
要删除周围的标签,请查看来自Tim的surround.vim - Delete/change/add parentheses/quotes/XML-tags 。或者,您可以删除内部代码(dat
),并使用我的UnconditionalPaste plugin的glp
映射将其粘贴为单独的行,甚至使用第18行的g[p
使用正确的缩进(当前行)粘贴到上面。
PS:您可以19gg
代替19G
;仍然是两个按键,但并行。
答案 1 :(得分:0)
使用surround.vim:
/li<CR> " jump to the first <li>
dst " remove surrounding <li> and </li>
dd " cut the line
k " move up one line
[p " paste above with the same indent
不
/li<CR> " jump to the first <li>
da< " delete <li>
$ " jump to end of line
. " repeat deletion
dd " cut the line
k " move up one line
[p " paste above with the same indent
或:
/li<CR> " jump to the first <li>
"xyit " yank what's inside the `<li>` into register xd
dd " cut the line
k " move up one line
O " open a new line above
<C-r>=x " insert content of register x
顺便说一下,您的<ol>
缺少</ol>
。