Vim之正则表达式

1.简单替换表达式

:[range]s/from/to/[flags]

range:作用范围,若未指定,则作用当前行;

:1,10s/from/to/:第1行至第10行的搜索替换;

:10s/from/to/:第10行的搜索替换;

:%s/from/to/:所有行的搜索替换;

flags有如下4个选项:

c  代表confirm,每次替换前都询问;

e  代表error,不显示错误;

g  代表global,整行替换;若不加该g选项,则每次只替换每行匹配到的第一个字符串;

i  代表ignore,忽略大小写;

上述四个选项可合并使用,如cg表示整行替换且每次替换前都询问。

2.正则表达式

2.1 元字符

元字符说明
.匹配任意字符
[abc]匹配[ ]内的任意字符,可用-表示字符范围
[^abc]匹配除[ ]内的字符外的所有字符
\d匹配数字,等价于[0-9]
\D匹配数字之外的任意字符,等价于[^0-9]
\x匹配16进制数字
\X匹配16进制数字之外的任意字符
\I匹配[a-z]
\L匹配[^a-z]
\u

匹配[A-Z]

\U匹配[^A-Z]
\w匹配单词字母
\W匹配单词字母之外任意字符
\t匹配tab字符
\s匹配空白字符
\S匹配非空白字符
\*匹配*字符
\.匹配.字符
\/匹配/字符
\匹配\字符
\[匹配[字符
\]匹配]字符
*表示数量,匹配0-任意个*之前的字符
\+表示数量,匹配1-任意个\+之前的字符
\?表示数量,匹配0-1个\?之前的字符
\{n,m}表示数量,匹配n-m个\{n,m}之前的字符
\{n}表示数量,匹配n个\{n}之前的字符
\{n,}表示数量,匹配n-任意个\{n,}之前的字符
\{,m}表示数量,匹配0-m个\{,m}之前的字符
$匹配行尾
^匹配行首
\<匹配单词词首
\>匹配单词词尾

3.例子

删除行尾空格  :%s/\s\+$//g

删除行首多余空格  :%s/^\s\+// 或者 %s/^ \+//

删除包含有空格组成的空行  :%s/^\s\+$// 或者 g/^\s\+$/d

删除以空格或TAB开头到结尾的空行  :%s/^[ |\t]\+$//

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值