如何删除vi文件中的列?

时间:2016-04-27 02:33:32

标签: linux bash vim terminal vi

我有一个包含数百行的vi文件,格式如下

029.inp.log:  SCF  Done:   E(RHF)  =   -844.790844670      A.U.  after    26 cycles 

除了第一个(029.inp.log :)和第五个(-844.790844670)之外,我想删除所有列(用空格/制表符分隔。当我粘贴它时搞砸了)。谁能帮我?

2 个答案:

答案 0 :(得分:6)

ctrl+v进行块选择。使用h, j, k, l键进行导航,然后按键d删除所选块。像kate这样的图形编辑器也具有块选择功能。

答案 1 :(得分:2)

如果您不局限于vi,那么shell命令是完成此任务的不错选择。

cat your_filename | cut -f 1,5 > result_filename

关于vim中的矩形选择,必须保证所有行中的字段具有相同的宽度。

也许是vim命令 :%!cut -f1,5也可以,但我现在不能试一试。