vim中,如何对其表中的某一列?也就是列对齐

我要用vim处理一个表,比如如下的表

1 北京大学 北京
2 清华大学 北京
3 浙江大学 浙江
4 复旦大学 上海
5 南京大学 江苏

但是这个表的第二列的左端不对齐,第三列的左端也不对其,如何能使
第二列的左端对齐呢?(如果要求右端对齐又怎么办呢?)
请给出解决的办法吧,正确而又简单的办法,我一定会加分的!
其实上面的表有很多行,为了节约,所以只写了前五行.
最后的对齐结果如下:
1 北京大学 北京
2 清华大学 北京
3 浙江大学 浙江
4 复旦大学 上海
5 南京大学 江苏

用这个试试,第二列肯定是可以对齐了,但是,第二列的名字太长的话,可能第三列还是对不齐。

:%s/\s\+/\t\t/g

先试试,有问题再补充。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-02-21
要将 50 到 100 行之间的 man 改为 MAN,并且一个一个挑选是否需要修改,如何下达指令?

:50,100s/man/MAN/gc

要复制 51 到 60 行这十行的内容,并且贴到最后一行之后

:51,60 co $

删除 11 到 30 行之间的 20 行

:11,30 d
以上代码在windows vim7.3上测试通过