这里简单的给大家介绍一下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中正则表达式的用法,详细的以后再细说吧~

版权所有,转载请注明出处。 http://www.vimer.cn

Vim(gVim)对排序的妙用

前段时间有博友在群里问了一个关于vim排序的问题,因为时间问题一直没帮忙解决,今天时间正好空出来,就帮忙搞了一下。 原文的问题如下: ...

阅读全文

vim(gVim)统计字节、字符数

前段时间在做文件扫描的时候,有一些关于字节、字符数统计的需求,考虑到有同学也可能用的到,所以整理一下记录在这里。 1.统计当前字符之前的所有字节数 ...

阅读全文

糗事百科网站改版,对应qiushibaike.vim插件升级

前不久糗百改版,所以原有的qiushibaike.vim插件用起来会有一些问题,今天有时间就修改了一下. 如图: 下载地址: http://www.vim.org/scripts/script.php?scr...

阅读全文

10则回应给“Vim正则表达式查找替换”

  1. levy说道:

    Dante你好,请问示例命令最后的//igc标记是什么意思?

    [回复]

    Dante 回复:

    哦,呵呵,我的习惯……
    其实你只用/g就可以啦。
    /i是忽略大小写,/c是每次都要询问。

    [回复]

  2. 可可火山说道:

    关于有些删除操作是不是直接用/d方便点呢?也不用考虑Unix还是Windows的换行符。
    :g/^\s*$/d : 删除所有空行

    [回复]

    可可火山 回复:

    我多事了,博主后续文章有介绍删除。

    下午花了点时间看了vim类文章,受教了。

    [回复]

    Dante 回复:

    呵呵,没有没有~~

    [回复]

  3. xiaoquan09说道:

    网主
    请问你这个网站是怎么建起来的?
    步骤是什么?费用是多少?

    [回复]

    miaomiao 回复:

    用html写的,然后用。
    挂上域名,然后去工信部备案。
    最后就有了网站
    这种网站服务器的费用除了服务器费用顶多就是1000以内了

    [回复]

  4. 石牛肚说道:

    关于它下的替换,我有更好的方法:
    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

    [回复]

    Dante 回复:

    恩啊,要我现在写,也会按你这种方式写,哈哈,果然当时还是不熟啊

    [回复]

  5. 爱智慧者说道:

    学习了。;;;;;;;;;;;;;;;;;;;;以下两行改写成1行:原文;;;;;;;;;;;;;;;;;;;;;;;;%s/.d*$//igc%s/.D.*$//igc;;;;;;;;;;;;;;;;;;;;以下两行改写成1行:改写:gVim有效;;;;;;;;;;;;;;;;;;;;;;;;%s/.w+$//g

    [回复]

发表评论