【问题标题】:In vim, how do I paste a column of text to the end of irregular length lines?在 vim 中,如何将一列文本粘贴到不规则长度行的末尾?
【发布时间】:2013-11-18 14:22:27
【问题描述】:

我想在不规则长度行的末尾粘贴一列文本。

例如,我想粘贴以下内容:

SRR447882.fastq.gz
SRR447883.fastq.gz
SRR447944.fastq.gz

在这些行的末尾:

TIL01_
TIL01_
TIL04-TIP285_

过去很多次,我只是在第一行创建足够的空间,这样粘贴就不会出现在最长行中现有文本的末尾之前。但是我需要返回并删除空格。

我曾尝试用谷歌搜索“vim 列粘贴不规则长度行”和类似的查询。

【问题讨论】:

    标签: vim


    【解决方案1】:

    您可以尝试执行以下四个步骤:

    1. 逐块选择前 3 行(稍后要粘贴),然后按 y
    2. 逐行选择(V)以_结尾的3行,按:right
    3. 然后将光标移动到第一行的末尾($),粘贴被抽出的文本
    4. gv重新选择线路,按:left

    看起来像这样:

    【讨论】:

    • :rightblock paste:left 转换的好例子。
    • 糟糕,我没有看到要粘贴的文本不是重复的同一行。漂亮的 gif 顺便说一句:)
    • Merge multiple lines 帖子中有一些很好的答案。我个人喜欢 ib. 的回答::1,g/^/''+m.|-j!。这也可以解决这个问题,尽管我相信 right/paste/left 方法以后更容易记住。
    • 很酷的演示,你是怎么录制的?
    • 这个答案是否如此糟糕以至于值得一票否决? @downvoter,介意发表评论,以便其他人可以学习吗?
    【解决方案2】:

    你可以这样做:

    • 从第二个块的第一行开始
    • qq,开始录制q
    • 4k,上四行
    • d$,删除到行尾
    • 4j,回到上一行
    • $p,将行粘贴到行尾
    • q,停止录制宏
    • jVG,下一行,选择剩下的行
    • :norm! @q,将宏应用于选择

    但是,它确实在前一个文本所在的位置留下了空间。 @Kent one's 仍然更容易。

    【讨论】:

    • 谢谢!这就是我最终使用的。因为它只是使用宏,所以我没有什么要记住的。我同意肯特的解决方案看起来更好;但是,由于某种原因,:right 似乎让我的 vim 解释器减慢了很多,以至于无法忍受。您的解决方案在我的情况下是有效的。
    • @ChristopherBottoms 另一个宏解决方案:ddma2jpkJx'a 光标在第一行SRR..
    【解决方案3】:

    我的UnconditionalPaste plugin 有(除其他外)gBp / gBP 映射将寄存器内容粘贴为具有锯齿状右边缘的最小拟合(非矩形)块。

    演示

    【讨论】:

      【解决方案4】:

      Step 1 - 转到 SPP... 行的开头,然后使用 V(大写 V)逐行启动可视模式,按两次 j选择所需的行,然后按 y

      Step 2 - 转到 TIL0... 行的开头,然后用 V(大写 V)逐行启动可视模式,按两次 j 得到选择所需的行,然后键入...

      :s;$;\=' ' . split(@")[line('.')-line("'<")];g`
      

      然后按 Enter

      【讨论】:

        【解决方案5】:

        这里有另一种方式来做它与它不同的感觉:

        set ve=all 允许在 eol 之后的任意列插入/粘贴。块复制您的源文本,然后在您的第一个目标行粘贴100|P100 是比目标行长的任何列号),然后是:'[,']s, *\%100c,,

        如果你使用p 而不是P,你会得到一个空格分隔符。

        【讨论】:

          猜你喜欢
          • 2012-05-29
          • 1970-01-01
          • 1970-01-01
          • 2018-08-23
          • 1970-01-01
          • 2012-07-03
          • 2011-04-29
          • 2012-09-24
          • 2013-06-11
          相关资源
          最近更新 更多