每日一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...