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 开始删除

  1. 首先需要匹配到需要删除模式。
命令 说明
\v 使用可视化模式显示匹配到的文本。
< 匹配 <
/ 匹配 /
?\w+ 匹配一个或者多个字符。
> 匹配 >
/\v\<\/?\w+\>
  1. 然后将匹配到的行进行删除。
:g//d