我有这些行的文件:
aa
bb
cc
dd
Run Code Online (Sandbox Code Playgroud)
我想将其转换为:
aa
aa
bb
bb
cc
cc
dd
dd
Run Code Online (Sandbox Code Playgroud)
这可能在VI?
kev*_*kev 42
试试这个简单的:
:g/^/norm yyp
Run Code Online (Sandbox Code Playgroud)
又一个(更短):
:%s/.*/&\r&
Run Code Online (Sandbox Code Playgroud)
另一个:
:%!sed p
Run Code Online (Sandbox Code Playgroud)
Dim*_*rov 37
我喜欢g/^/t.
的g(对于global)命令将寻找匹配模式的任何行.
我们指定的模式是^匹配所有行.
t将复制并粘贴,最后
在dot告诉它下面粘贴.
我是否因为简洁而获胜?
pb2*_*b2q 10
使用global命令 g对文件中的每一行进行操作:
:g/^/norm yyp
Run Code Online (Sandbox Code Playgroud)
该g命令将在与模式匹配的所有行上运行.^是一个匹配任何一条线的模式.norm执行命令yyp,该命令拉动当前行并粘贴它.:g/^/norm Yp也会工作.
请参阅:help global有关命令的详细信息,也看到这个VIM维基上的页面g.