如何删除vi文件中的列?

use*_*469 2 linux vi vim bash terminal

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

029.inp.log:  SCF  Done:   E(RHF)  =   -844.790844670      A.U.  after    26 cycles 
Run Code Online (Sandbox Code Playgroud)

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

sha*_*eeq 7

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


gzh*_*gzh 6

如果您不局限于 vi,shell 命令是执行此任务的不错选择。

cat your_filename | cut -f 1,5 > result_filename

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

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