首页 > 其他 > 详细

vim功能之替换和查找

时间:2014-08-05 13:57:09      阅读:350      评论:0      收藏:0      [点我收藏+]

vim有着强大的替换和查找功能,若能进行熟练的运用,可以让工作效率得到一个很大程度的提高.

替换

语法:[addr]s/源字符串/目的字符串/[option]

[addr]表示检索范围,如:

"1,n":表示从第1行到n行
"%":表示整个文件,同"1,$"
".,$":表示从当前行到文件尾

[addr]省略时表示当前行

s:表示替换操作,其为substitute的缩写

[option] : 表示操作类型,如:

g:globe,表示全局替换
c:confirm,表示进行确认
p:表示替代结果逐行显示(Ctrl + L恢复屏幕)
i:ignore,不区分大小写
[option]省略时仅对每行第一个匹配串进行替换
如果在源字符串和目的字符串中出现特殊字符,如‘/‘,‘<‘,‘>‘,‘,‘等需要前面加反斜杠\进行转义
 
常用命令示例:
#将当前行第一个a替换为b
:s/a/b/
 
#将当前行的所有a替换为b
:s/a/b/g
 
#将每行第一个a替换为b
:%s/a/b
 
#将整个文件的所有a替换为b
:%s/a/b/g
 
#将1至3行的第一个a替换为b
:1,3s/a/b/
 
#将1至3行的所有a替换为b
:1,3s/a/b/g
 
上面是一些常用的替换,但是我们日常碰到的问题不止这么简单,这就要涉及到一些较为高级的替换操作,会涉及到转义,正则表达式相关的知识,下面是一些例子:
#使用#作为分隔符,此时中间出现的/不会作为分隔符,如:将当前行的字符串"a/"替换为"b/"
:s#a/#b/#
 
#找到包含字母a的行并删除
:g/a/d
 
#删除所有空行
:g/^$/d
 
 #多个空格替换为一个空格
:s/ \+/ /g
 
#在正则表达式中使用\(和\)符号括起正则表达式,即可在后面使用\1,\2等变量来访问\(和\)中的内容,如下
将data1 data2修改为data2 data1
:s/\(\w\+\)\s\+\(\w\+\)/\2\t\1

后续继续补充!

vim功能之替换和查找,布布扣,bubuko.com

vim功能之替换和查找

原文:http://www.cnblogs.com/crazyleeyang/p/3889627.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!