`
lantian_123
  • 浏览: 1361033 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

每日一Vim(3)替换

 
阅读更多

 

每日一Vim(3)

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

替换

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表示对文章中所有符合要求字符串执行替换操作,^表示行首,$表示行尾,整个意思是:将所有的空行删除.

to be continue...

 

分享到:
评论
3 楼 Reset 2013-03-15  
:12,23s/^/#/
isensen 写道
天天来学习

:%s/^/#/         将从12行到23行的行首加入 # 字符,批量注释的时候非常有用
----------------------
这个应该是全文吧



:12,23s/^/#/  这个是 12行到23行
2 楼 lantian_123 2013-03-12  
isensen 写道
天天来学习

:%s/^/#/         将从12行到23行的行首加入 # 字符,批量注释的时候非常有用
----------------------
这个应该是全文吧

yes,thanks
1 楼 isensen 2013-03-12  
天天来学习

:%s/^/#/         将从12行到23行的行首加入 # 字符,批量注释的时候非常有用
----------------------
这个应该是全文吧

相关推荐

Global site tag (gtag.js) - Google Analytics