Vim公式,每行只留下两个第一个单词

时间:2014-10-15 07:29:19

标签: regex vim replace

如何在Vim的每一行中只留下两个第一个单词(删除所有其余单词)?

E.g。

AA  AA  subst:pl:acc:m3+subst:pl:acc:n2
aa  ad acta brev:npun

进入

AA  AA
aa  ad

3 个答案:

答案 0 :(得分:2)

适用于所有行:

:%s/\v^(\s*\S+\s+\S+).+/\1/

答案 1 :(得分:2)

您可以使用我心爱的:normal命令:

:%norm EElD

或AWK:

:%!awk '{print $1, $2}'

或替换,如果真实文件看起来不像提供的样本:

:%s/\S\+\s\+\S\+\zs.*

答案 2 :(得分:0)

如何使用宏:

<ESC>gg
qa2wDj0
q

并使用

重复此操作
@a

您可以通过说

来指定计数
n@a