删除VIM中第一列以外的所有内容

Cas*_*urr 15 vim editing

我有一个文本文件,我想删除除每行第一个单词之外的每个单词,我不知道如何做到这一点.

所以,如果我有:

one two three
four five
six
Run Code Online (Sandbox Code Playgroud)

我想留下来:

one
four
six
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

l4m*_*mpi 18

如果行不以空格开头,则可以用' .*'空字符串替换(匹配第一个单词后面的所有内容):

:%s/ .*//g
Run Code Online (Sandbox Code Playgroud)


小智 7

一个更强大的解决方案是通过一个非常擅长这些操作的程序来过滤它:awk.

说你有这个内容:

one two three

  four five
            six
Run Code Online (Sandbox Code Playgroud)

:%!awk '{print $1}',你会得到:

one

four
six
Run Code Online (Sandbox Code Playgroud)

awk默认字段分隔符是一个空格,但您可以根据需要将其更改为您想要的任何内容.