获取与Vim中的ex不同的文本

And*_*ech 1 regex vim ex

假设我在Vim中有以下文本:

file1.txt
file2.txt
file3.txt

renamed1.txt
renamed2.txt
renamed3.txt
Run Code Online (Sandbox Code Playgroud)

我想要进行如下转换:

file1.txt renamed1.txt
file2.txt renamed2.txt
file3.txt renamed3.txt
Run Code Online (Sandbox Code Playgroud)

我的想法是如下:

:1,3 s/$/ <the text that is 4 lines below this line>
Run Code Online (Sandbox Code Playgroud)

我不知道如何指定<the text that is 4 lines below this line>部件.

我尝试了类似的东西.+4(当前行以下4行),但无济于事.

Dav*_*rby 7

您可以使用逐块剪切和粘贴来完成.

1)在每个"重命名"行的开头插入空格,例如 :5,7s/^/ /

2)使用逐块视觉选择(ctrl-v)选择所有"文件"行,然后按d删除它们

3)再次使用块状视觉选择在所有重命名的行的开头选择空格字符,然后按p.这会将您删除的块中的相应行粘贴到每行的开头.