I have a file with these lines:
aa bb cc dd I want to convert this into:
aa aa bb bb cc cc dd dd Is this possible in VI?
I have a file with these lines:
aa bb cc dd I want to convert this into:
aa aa bb bb cc cc dd dd Is this possible in VI?
Try this simple one:
:g/^/norm yyp Yet another one(shorter):
:%s/.*/&\r& Another one:
:%!sed p I like g/^/t.
The g (for global) command will look for any lines that match a pattern.
The pattern we specified is ^, which will match all lines. t will copy and paste, and finally
the dot tells it to paste below.
Do I win for brevity?
g/^/norm yyp as it could very simply duplicate or triplicate .. or even more by just adding p as needed ... g/^/norm yypp :) 10xUse the global command g to operate on every line in the file:
:g/^/norm yyp The g command will operate on all lines that match a pattern. ^ is a pattern which will match any line. norm executes the command yyp, which yanks the current line, and pastes it. :g/^/norm Yp will also work.
See :help global for more details about the command, and see also this vim wiki page on g.
:global here.