文件包含:
aa
bb
cc
dd
我需要:
aa aa
bb bb
cc cc
dd dd
我该怎么做?
答案 0 :(得分:6)
您可以使用正则表达式执行此操作:
%s/.*/& &/
答案 1 :(得分:4)
也许有一种更聪明的方法,但我只是进入视觉区块选择模式: ctrl + v ,转到最后一行: G ,一直选择到右边: $ ,然后猛拉: y 。
然后你会回到第一行。按 A 开始插入第一行的末尾。输入一个空格,离开插入模式,然后按 p 粘贴您之前拉出的内容。
答案 2 :(得分:1)
如果你在unix环境中:
:'<,'>! awk '{print $0, $0}'
答案 3 :(得分:1)
矩形选择要复制的区域,将其拉出,然后将点移动到您想要文本的位置,然后粘贴。
gg0
$<C-v>G<S-i>
<esc> gg0
<C-v> eeGygg$p
答案 4 :(得分:1)
现在使用ex命令!
:g/./y|pu|-j
长篇:
:g/./yank|put|-1join
这类似于为每一行执行yypkJ
(如果需要,可以像:%norm yypkJ
那样执行)。
如需更多帮助,请参阅:
:h :g
:h :y
:h :pu
:h :j
:h range
:h :norm
答案 5 :(得分:0)
转到该行的开头。在命令模式下执行yy
,转到行尾{do J
。 yy
将当前行复制到缓冲区,J
加入两行。
答案 6 :(得分:0)
我使用的是宏。转到文件顶部,使用qq
开始录制,然后执行复制第一行的操作。也许是YpkJ
,或者真的有什么东西可以转向&#34; aa&#34;进入&#34; aa aa&#34;。然后再次使用q
停止录制。
要应用于缓冲区的其余部分,请使用:2,$norm @q
,或使用可视模式选择所有行直到结尾,然后键入:norm @q
。