如果某个单词出现在 vim 中打开的文档中,如何删除其中的一行?

How to remove a line in a document opened in vim if certain word occurs in it?

我在 vim 中打开了一个文本文档,它是这样的:

 ...100    .Z....              0.   ....01            .506
 ...100    ....04              1.   ....05            .182
 ...100    ....55            .312
 ...101    .Z....          -3280.   ....01            .638
 ...101    ....04              1.   ....05             .05
 ...101    ....55            .312
 ...102    .Z....           3310.   ....01             -1.
 ...103    .Z....          -1890.   ....05             .92
 ...103    ....30              1.   ....49            -9.5
 ...103    ....52           -.042   ....53           -.063
 ...103    ....55             .08
 ...104    ....34            .825   ....35            .175
 ...104    ....40              1.   ....51             16.
 ...105    ....35            .175   ....40              1.
 ...105    ....46            .825   ....51             21.
 ...106    .Z....          -1890.   ....06              1.
 ...106    ....30              1.   ....49             3.6
 ...106    ....52           -.042   ....53           -.063
 ...107    .Z....           -903.   ....06              1.
 ...107    ....38              1.
 ...108    ....06              1.   ....50             -.8
 ...109    .Z....            432.   ....31           -1.23

我想删除包含 .Z.... 的行。在 Vim 中有快速的方法吗?

应该用谷歌搜索更好

 :g/.Z..../d

解决问题。

你也可以在命令模式下试试:

:%s/^.*\.Z\.\.\..*$//g

注意:\. 转义 . 元字符; .* - 任意字符; ^ 从开头 $ 到行尾