vi有这样的技巧吗?

vi有这样的技巧吗?

1,文件每一行的最后可能有一个或多个空格,如何把他们都删除
2,文件中只有一列数据,能在每一行的后面加上该行的本身吗?

如文件
a
aa
ffff
变成
a       a
aa     aa
ffff     ffff
经过摸索已经解决上面的问题
快给答案看看
:%s/ *$//
:%s/\(.*\)/\1 \1/
不错,加精了
这样就精华拉,真是让我意外啊,不过还是谢谢哦
另外我想问问vi中关于
:g/s1/s2/s3/...
等的具体的使用方法,网上能找到的基本上是%s/.....的使用,关于g/...的几乎找不到
有人知道吗?