这里简单的给大家介绍一下Vim的查找替换,众所周知,Vim对正则表达式的支持是非常好的,对于程序员来说在分析大量数据的时候,用到Vim的这个功能无疑是件利器。
首先大家要明白vim正则里面的几个特殊含义:
^ 代表行首
$ 代表行尾
\d 代表数字
\D 代表非数字
[x,y,z]:代表各种条件选择
好的,那我们就出几个常用的题目做一下来试一下吧:
1.将以数字开头的行删除
%s/^\d.*$//igc :把这行置成空
%s/^\d.*$\n//igc :把这行直接删掉,包括换行符一起删掉,(注意是\n,而不是\r\n,因为这是针对linux平台,)下一行会到这一行的位置
2.将数字3或者4或者A开头的行删除
%s/^[3,4,A].*$//igc :把这行设置成空
3.
1 IP 202.114.1.1.23444
2 IP 202.114.1.2.wokao
3 IP 202.114.1.3.woai23444
要求最后变为
202.114.1.1
202.114.1.2
202.114.1.3
按照顺序执行如下即可:
%s/\d.*IP //igc
%s/\.\d*$//igc
%s/\.\D.*$//igc
这一次只是简单给大家说下Vim中正则表达式的用法,详细的以后再细说吧~
levy on #
Dante你好,请问示例命令最后的//igc标记是什么意思?
Reply
Dante on #
哦,呵呵,我的习惯……
其实你只用/g就可以啦。
/i是忽略大小写,/c是每次都要询问。
Reply
可可火山 on #
关于有些删除操作是不是直接用/d方便点呢?也不用考虑Unix还是Windows的换行符。
:g/^\s*$/d : 删除所有空行
Reply
可可火山 on #
我多事了,博主后续文章有介绍删除。
下午花了点时间看了vim类文章,受教了。
Reply
Dante on #
呵呵,没有没有~~
Reply
xiaoquan09 on #
网主
请问你这个网站是怎么建起来的?
步骤是什么?费用是多少?
Reply
miaomiao on #
用html写的,然后用。
挂上域名,然后去工信部备案。
最后就有了网站
这种网站服务器的费用除了服务器费用顶多就是1000以内了
Reply
石牛肚 on #
关于它下的替换,我有更好的方法:
1 IP 202.114.1.1.23444
2 IP 202.114.1.2.wokao
3 IP 202.114.1.3.woai23444
方法:
:0,$s/^.*IP \(202\.114\.1\./d\)\..*/\1/gc
Reply
Dante on #
恩啊,要我现在写,也会按你这种方式写,哈哈,果然当时还是不熟啊
Reply
爱智慧者 on #
学习了。;;;;;;;;;;;;;;;;;;;;以下两行改写成1行:原文;;;;;;;;;;;;;;;;;;;;;;;;%s/.d*$//igc%s/.D.*$//igc;;;;;;;;;;;;;;;;;;;;以下两行改写成1行:改写:gVim有效;;;;;;;;;;;;;;;;;;;;;;;;%s/.w+$//g
Reply