如果某个单词出现在 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
注意:\.
转义 .
元字符; .*
- 任意字符; ^
从开头 $
到行尾
我在 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
注意:\.
转义 .
元字符; .*
- 任意字符; ^
从开头 $
到行尾