猛拉所有线条并粘贴到最后的Vim

时间:2014-08-09 03:34:11

标签: vim

如标题,我想复制所有行并粘贴到最后。

在:

apple
cat
dog
sun

在:

apple apple
cat cat
dog dog
sun sun

4 个答案:

答案 0 :(得分:7)

使用替代命令

:%s/.*/& &

.*匹配所有内容,&替换为匹配(在本例中为整行)


或者,如果你真的想要拉线,你可以使用普通命令

:%norm yyPJ

在正常模式下,每行都运行命令yyPJ


注意:如果有前导空格,这些命令会略有不同的输出。

答案 1 :(得分:0)

如果您使用类似unix的系统:

:%!paste -d' ' % -

答案 2 :(得分:0)

另一个unix风格的答案(虽然我会选择任何@ FDinoff'

:%!awk '{print $1, $1}'

还有另一个:normal答案,因为有很多方法可以让猫咪去皮肤了:

:%norm y$A <C-v><C-r>"

还有一个:

:%norm y$Pa<space>   <-- just press the <space> bar

答案 3 :(得分:0)

另一种方式,如果你的文字是这样的(〜代表空白)

apple
cat~~
dog~~
sun~~

这意味着所有单词都有相同数量的colomn。

你可以ctrl-v选择所有并将光标移动到&#34; apple&#34;的末尾。并输入p进行粘贴。