【问题标题】:How to surround multiple lines individually with surround.vim如何用环绕.vim 单独环绕多行
【发布时间】:2012-02-21 18:46:38
【问题描述】:

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

香蕉
柑橘
橙色

我可以这样做:qaysstli>jq 然后2@a

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

【问题讨论】:

    标签: vim plugins emmet surround


    【解决方案1】:
    1. <S-v>直观地选择所有行
    2. 输入:norm yss<li> 然后<CR>

    结果:

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

    范围也很好::.,+2norm yss&lt;li&gt;&lt;CR&gt;:1,3norm yss&lt;li&gt;&lt;CR&gt; 也是如此。

    【讨论】:

      【解决方案2】:

      使用视觉块,然后环绕。

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

      大家一起:

      <c-v>2j$S<li>
      

      【讨论】:

      • 我比我更喜欢这个。
      • 我也是 ;) 更有效率。
      【解决方案3】:

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

      ul > li*
      

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

      【讨论】:

      • 正是我需要的!我很确定 zencoding 也可以,但也不知道怎么做。谢谢!
      • 非常欢迎。如果它解决了您的问题,请接受它;)
      • 我接受了另一个答案,因为它与我的问题的标题更相关,但我可能会在编码时更频繁地使用你的答案 ;-)
      【解决方案4】:

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

      1. &lt;c-v&gt; 开始可视块,然后使用I 插入第一个&lt;li&gt;,以[esc] 结束。
      2. &lt;c-v&gt; 启动可视块,然后使用$ 选择到块的末尾。使用A,然后附加&lt;li&gt;,以[esc]结尾。

      一起:&lt;c-v&gt;2jI&lt;li&gt;[esc]&lt;c-v&gt;2j$A&lt;li&gt;[esc]

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-04-26
        • 2013-12-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多