我有一个包含数百行的vi文件,格式如下
029.inp.log: SCF Done: E(RHF) = -844.790844670 A.U. after 26 cycles
除了第一个(029.inp.log :)和第五个(-844.790844670)之外,我想删除所有列(用空格/制表符分隔。当我粘贴它时搞砸了)。谁能帮我?
答案 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
也可以,但我现在不能试一试。