Date 如何将vim文件的顺序部分复制到新文件中,并用日期命名这些文件?

Date 如何将vim文件的顺序部分复制到新文件中,并用日期命名这些文件?,date,vim,macros,filenames,date-arithmetic,Date,Vim,Macros,Filenames,Date Arithmetic,我的文件长度超过100000行 我想将前n行剪切并粘贴到一个名为S2013015.txt(表示开始日期)的新文件中,然后保存并关闭新文件。 然后,我想把接下来的n行剪切下来,粘贴到一个名为20130116.txt的文件中,然后保存并关闭新文件 我想继续这个过程,直到原始文件为空 有什么想法吗 TIA如果可能的话,您可以使用awk或其他脚本编辑工具来实现这一点;这将节省你大量的重复。所以我假设你因为某种原因不能;也许每一次的行数都不一样,没有比看更好的方法了 您可以使用带范围的:w命令将文件中的行

我的文件长度超过100000行

我想将前n行剪切并粘贴到一个名为S2013015.txt(表示开始日期)的新文件中,然后保存并关闭新文件。 然后,我想把接下来的n行剪切下来,粘贴到一个名为20130116.txt的文件中,然后保存并关闭新文件

我想继续这个过程,直到原始文件为空

有什么想法吗


TIA

如果可能的话,您可以使用
awk
或其他脚本编辑工具来实现这一点;这将节省你大量的重复。所以我假设你因为某种原因不能;也许每一次的行数都不一样,没有比看更好的方法了

您可以使用带范围的
:w
命令将文件中的行写入新文件。例如:

  • 如果键入
    10:w foo.txt
    Enter,则从光标位置开始需要十行,然后将它们写入文件“foo.txt”。然后,您可以使用
    10dd
    删除这10行
  • 您可以键入
    :1,10w foo.txt
    Enter将文件的第1-10行写入“foo.txt”(从文件开头开始计算,不考虑光标位置)。通过输入
    :1,10d
    Enter删除
  • V
    并移动光标,可以选择一系列行。选择范围后,键入
    :w foo.txt
    Enter以写入行。使用
    gv
    再次选择相同的范围;然后可以使用
    d
    删除

这看起来像是一项非交互式任务,也许脚本是更好的解决方案?一个相关问题。