VIM的匹配删除主要是在一些配置文件中,删除空行,注释行(#号开头等),删除含有特定字符的行等等。

1.删除含有“#”开头的行

   
   
  1. :% g/^#/d 

匹配删除含有特定字符的行就去掉“^”,也可以匹配结尾“$”

2.删除空行

   
   
  1. :% g/^$/d 

3.删除不含该字符串的行

   
   
  1. :% v/pattern/d 

还有另一中方法:

   
   
  1. :% g!/pattern/d 

4.如何对每行只保留匹配内容而删除这一行中的其它内容,这个有点技术含量

   
   
  1. :%s/^.*\(pattern\).*$/\1/g 

5.删除包含特定字符串的行,这也就是第一条一样的。

   
   
  1. :g/pattern/d 

6.删除包含特定字符串的行,每次删除前都提示

   
   
  1. :%s/^.*pattern.*\n//c 

7. 处理字符串: /123/456/789/109/example.txt, 怎么删除到最后一个/,然后得到example.txt ?

   
   
  1. 0dte 

说明:0     到行首
      dte   删到第一个e

8. 处理字符串: /123/456/789/ef/109/example.txt, 怎么删除到最后一个/,然后得到example.txt ?

   
   
  1. $T/d0 

说明:$     到行尾
      T/    从后往前搜到第一个/
      d0    删到行首
d/ex然后回车
说明:d     删除
      /ex   搜到第一个ex

            </div>