VIM 删除匹配文本行
1 背景知识
使用 VIM 可以快速将文本中符合条件的文本行删除。
Grep一词的来历
请仔细琢磨一下 :global命令的简写形式:
➾ :g/re/p
re表示regular expression,而 p是 :print的缩写,它作为缺省的命令使用。如果我们把符号 / 忽略掉,便会发现单词“grep”已然呼之欲出了
1.1 环境准备
例如,有一段文本如下所示。
<ol>
<li>
<a href="/episodes/show-invisibles/">
Show invisibles
</a>
</li>
<li>
<a href="/episodes/tabs-and-spaces/">
Tabs and Spaces
</a>
</li>
<li>
<a href="/episodes/whitespace-preferences-and-filetypes/">
Whitespace preferences and filetypes
</a>
</li>
</ol>
1.2 匹配需求
需要把 <*> 标签所在行全部删除。
2 开始删除
- 首先需要匹配到需要删除模式。
命令 | 说明 |
---|---|
\v | 使用可视化模式显示匹配到的文本。 |
< | 匹配 < 。 |
/ | 匹配 / 。 |
?\w+ | 匹配一个或者多个字符。 |
> | 匹配 > 。 |
/\v\<\/?\w+\>
- 然后将匹配到的行进行删除。
:g//d