vim 删除所有包含 X 个或更多单词的行

标签 vim

我正在寻找一个 vim 命令,它将匹配并删除包含 4 个或更多单词的所有行,其中单词由分隔符(在本例中为空格字符)分隔。

之前

one two three four five

one two three four

one two three

之后

one two three

最佳答案

awk 来救援!

awk 'NF < 4' foo.txt > output.txt

使用 Vim 的过滤器,:!,命令(参见 :h :range!):

:%!awk 'NF < 4'

或者使用 :global 命令和 :delete 的纯 Vim(参见 :h :g:h :d):

:g/\s.*\s.*\s/d_

关于vim 删除所有包含 X 个或更多单词的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50766469/

相关文章:

java - 开发人员真的使用 vim 在 Windows 操作系统上编写代码 (Java) 吗?

terminal - 光标线的颜色是在哪里定义的?

system - 如何在vim中使用2个参数调用system()

Vim 脚本 : check if the cursor is on the current word

firefox - 将堆栈溢出与 Vim 集成

vim - 是否可以确定 Vim 中视觉选择的方向?

vim - 打开某些文件类型时如何禁用 NERDTree 缓冲区

vim 如何在没有语法高亮的情况下设置好索引?

vim - 在每个数字中插入一个减号

vim - 如何计算 Vim/gVim 中一行有多少个单词?