例如,我要复制5〜15行并将其粘贴到另一个位置。我发现几种方法:

  • 将光标移至第5行,然后移至11yyp
  • 命令:5,15yp
  • Ctrl + V,在第5〜15行中选择块,然后转到要粘贴的位置,留出足够的空白行进行粘贴(否则它将与当前文本重叠),并添加p

  • 我对这些方法都不满意,对于方法1和方法2,我不得不费心去看行号或计算要复制的行数,当文本覆盖很多行时,这将变得非常棘手。对于方法3,我必须在前面留出足够的空间,这也使我能够计数要粘贴的行。那么,是否有任何方法与方法3一样,只是我不需要事先留出足够的空间?

    编辑:方法2,原始的5,15yy是错误的。已更正。

    最佳答案

    与您的3.类似的方法是:

  • 转到第5行,然后输入V15GyV10jyVjjj...jy(V是逐行可视模式。您可以看到选定的行而无需了解行号)
  • 转到第40行(或其他位置)和p。那将在40号线之后放置被拉线的线。或使用P将其放在第40行之前。

  • 或者,您可以使用Ex-command :t(与:copy相同,但更短)
    :5,15t 40

    关于linux - vim : copy and paste text without looking into the line number,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26274903/

    10-15 05:31