zoukankan      html  css  js  c++  java
  • vim的正则表达式(二)应用实例



    本文出自   http://blog.csdn.net/shuangde800

    ------------------------------------------------------------------------------------------------


    本文的例子都是实践过的,如有错误,请指正 

    本文约定:
    $ + 命令 表示在普通的bash的命令行下
    :  + 命令 表示在vim的ex(命令)模式, 按"Ctrl" + ":" 进入





    修改文件中路径名列表

    :s//home/tim//home/linda/g  把/home/tim改为/home/linda
    上面不太好看,可以使用不同的字符作为模式分割符(可以使用除反斜杆,双引号和竖直线(、"和|) 之外的任何非字母表、非空白字符作为分隔符):
    :s :/home/tim:/home/linda : g
    这样可读性更加强,也不容易出错



    把HTML斜字体代码标签(<I><I>)放到单词hello world!的周围

    :%s/hello world!/<I>&<I>/g



    把所有单词help或Help都改为大写的HELP

    :%s/[Hh]elp/HELP/g
    或者
    :%s/[Hh]elp/U&/g



    使用单个空格替换一个或多个空格

    :%s/  */ /g
     


    使用两个空格替换冒号或逗号后面的一个或多个空格

    :%s/([,:])  */1  /g
    先把冒号或逗号保存到缓冲区中,然后匹配冒号或逗号加上一个或多个空格的模式,再把这个模式替换成缓冲区的逗号或冒号,以及加上一个空格


    删除所有空行(没有任何字符,除了一个回车符)

    :g/^$/d



    删除所有空行或者任何只包行空白的行

    :g/^[ tab]*[ tab]*$/d

    tab代表制表符



    删除每行的所有的前导空格

    :%s/^  *//g
    或者
    :%s/^  *(.*)/1/



    删除每行尾部的所有空格

    :%s/  *$//
     


    在文件中的每一行的开始插入 ->(或者其它字符)

    :%s/^/->/
    或者
    :%s/^(.*)/->1/
    单独一个^,可以看作是指向一行的最左边的光标,替换一个字符串就相当于在光标处插入字符串


    在每一行的尾部加上一个句号

    :%s/$/。/
    或者
    :%s/(.*)/1。/

    同样, 单独一个$,可以看作是指向一行的最右边的光标,替换一个字符串就相当于在光标处插入字符串



    交换列表中所有连字符分隔的条目的顺序

    例如一个文件的内容是:
    ABC : XYZ
    haha : hehe
    Alice : Bob
    把冒号两边的字符串交换,只要下面的命令
    :%s/(.*) : (.*)/2 : 1/


    颠倒文件中的行序

    例如,一个文件内容是
    1
    2
    3
    要改为:
    3
    2
    1

    命令如下:
    :g/.*/ m 0
    或者
    :g/^/ m 0





  • 相关阅读:
    Linked List Cycle leetcode java (链表检测环)
    Remove Duplicates from Sorted List II leetcode java
    Remove Duplicates from Sorted List leetcode java
    Merge Two Sorted Lists leetcode java
    Swap Nodes in Pairs leetcode java
    Median of Two Sorted Array leetcode java
    阿里云最便宜的四种域名注册
    nohup和&后台运行,进程查看及终止
    ipv6转ipv4 NAT64与DNS64基本原理概述
    ros使用pppoe拨号获取ipv6,并且下发IPV6的dns到客户机win7
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3303991.html
Copyright © 2011-2022 走看看