如何在vi文件中删除列?

9
我有一个包含数百行文本的vi文件,格式如下:
029.inp.log:  SCF  Done:   E(RHF)  =   -844.790844670      A.U.  after    26 cycles 

我想删除除了第一个(029.inp.log:)和第五个(-844.790844670)以外的所有列(由空格/制表符分隔。在我粘贴到这里时弄乱了)。有人能帮我吗?

2
使用 CTRL-v 和移动命令 h,j,k,l 选择列,然后使用 d 删除它们。 - Amit
错误的网站,不是一个编程问题。请尝试访问 http://superuser.com? - tink
1
甚至更加“vi”中心化...http://vi.stackexchange.com。祝好运。 - shellter
2个回答

17

按下 ctrl+v 进行块选择。使用键盘上的 h, j, k, l 键进行导航,按下按键 d 删除所选块。类似于 kate 的图形编辑器也具有块选择的功能。


7
如果你不局限于vi,shell命令是完成这个任务的好选择。 cat your_filename | cut -f 1,5 > result_filename 关于vim中的矩形选择,你必须确保所有行中的字段宽度相同。
也许vim命令:%!cut -f1,5也可以,但我现在无法尝试。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接