我正在寻找一个vim命令,它将匹配并删除包含4个或更多单词的所有行,其中单词由分隔符分隔,在本例中为空白字符。
在
一二三四五。一二三四
一二三
在
一二三
答案 0 :(得分:4)
要求救援!
awk 'NF < 4' foo.txt > output.txt
使用Vim的过滤器:!
,命令(参见:h :range!
):
:%!awk 'NF < 4'
带有:global
命令的纯Vim和:delete
(请参阅:h :g
&amp; :h :d
):
:g/\s.*\s.*\s/d_
答案 1 :(得分:1)
:%s/\v(\w+ \w+ \w+)\zs.*//g
\v ................. very magic (avoids backslashing everything)
(\w+ \w+ \w+) ...... a group of three words
\zs.* .............. starts considering what that comes after