7

我有这三个(或更多)行,我想用 li (或任何其他)标签包围:

香蕉
柑橘

我可以这样做:qaysstli>jq那么2@a.

有没有办法在没有宏的情况下更快地做到这一点?

4

4 回答 4

23
  1. 直观地选择所有行<S-v>
  2. :norm yss<li>然后输入<CR>

结果:

<li>Bananas</li>
<li>Citrus</li>
<li>Orange</li>

范围也很好::.,+2norm yss<li><CR>做同样的事情,以及:1,3norm yss<li><CR>.

于 2012-01-29T20:20:18.113 回答
7

使用视觉块,然后环绕。

<c-v>启动可视块模式,然后移动到文本的最后一行。使用$选择到每行的末尾然后S<li>

全部一起:

<c-v>2j$S<li>
于 2012-01-30T03:45:04.920 回答
5

我可以使用zencoding-vim来考虑它的更快方法。使用该插件,您可以直观地选择文本,然后您可以键入ctr+y ,然后键入:

ul > li*

Adn 你会得到清单。它看起来很神奇,而且速度也很快。

于 2012-01-29T19:25:20.483 回答
1

不是最有效的方法,但发现它对新手很有帮助,您可以使用 Visual Block 两次在单词的开头和结尾添加标签。

  1. <c-v>开始视觉块,然后用于I插入第一个<li>,以 . 结尾[esc]
  2. <c-v>启动可视块,然后使用$选择到块的末尾。使用A然后追加<li>,以 . 结尾[esc]

一起:<c-v>2jI<li>[esc]<c-v>2j$A<li>[esc]

于 2014-05-22T14:45:40.070 回答