Chinaunix首页 | 论坛 | 博客
  • 博客访问: 185545
  • 博文数量: 60
  • 博客积分: 1597
  • 博客等级: 上尉
  • 技术积分: 461
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-20 13:24
文章分类

全部博文(60)

文章存档

2017年(15)

2016年(6)

2015年(37)

2008年(2)

分类: LINUX

2015-09-11 11:59:14

发现昨天写的文章读起来感觉比较乱,今天争取写好看一点,读起来清楚一点,今只就讲解两个功能,替换多文件编辑

替换

vim可以借用正则表达式来实现丰富的替换功能,她的基本语法是:
:[addr]s/源字符串/目的字符串/[option],我们可以看出addr和option是可以缺省不填的,他们各个字段的意思是:

  • [addr]代表检索范围,缺省表示当前行,1,10表示1到10行,%代表整个文件等价于1,$,而.,$代表当前行到文件末尾
  • s代表替换的意思
  • option代表操作类型,缺省只对第一个匹配的字符进行替换,g代表全局替换,c代表操作时确认,gc可以组合使用

以下提供几个例子.

:s/aa/bb/g       将光标所在行出现的所有包含 aa 的字符串中的 aa 替换为 bb
:%s/aa/bb/g      将文档中出现的所有包含 aa 的字符串中的 aa 替换为 bb
:12,23s/aa/bb/g  将从12行到23行中出现的所有包含 aa 的字符串中的 aa 替换为 bb
:%s/^/#/         全文的行首加入 # 字符,批量注释的时候非常有用
:%s= *$==        将所有行尾多余的空格删除
:g/^$/d          这里的g表示对文章中所有符合要求字符串执行替换操作,^表示行首,$表示行尾,整个意思是:将所有的空行删除.
阅读(377) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~