VI 行处理技巧数枚

来源:互联网 发布:卓越java招聘信息 编辑:程序博客网 时间:2024/06/11 17:04

最近在公司需要处理一些脚本,才感觉自己的vi太次了,在这里搞个备份,以备查阅:

1. 如何只保留匹配内容行而删除其他行?

:v/pattern/d
:help :v

2. 如何对每行只保留匹配内容而删除这一行中的其它内容
:%s/^.*\(pattern\).*$/\1/g

3. 删除包含特定字符串的行
:g/pattern/d

4. 删除包含特定字符串的行,每次删除前都提示
:%s/^.*pattern.*\n//c

5. 处理字符串: /123/456/789/109/example.txt, 怎么删除到最后一个/,然后得到example.txt ?
0dte
解释:0       到行首
           dte   删到第一个e

6. 处理字符串: /123/456/789/ef/109/example.txt, 怎么删除到最后一个/,然后得到example.txt ?
$T/d0
解释:$     到行尾
          T/    从后往前搜到第一个/
          d0   删到行首

d/ex然后回车

解释:d     删除
           /ex  搜到第一个ex
7 删除不包含字符串‘dd’的行
:g!/^dd/d 
原创粉丝点击