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





  • 相关阅读:
    Eclipse 代码提示功能设置。
    eclipse android 查看源文件 出错的解决办法
    Android 中自定义控件和属性(attr.xml,declarestyleable,TypedArray)的方法和使用
    android屏幕尺寸 sp,px,dp,density,in介绍
    用C#实现的条形码和二维码编码解码器 之转载
    在Eclipse下如何导入jar安装包
    C# 获取往控件中拖进的文件或文件夹的信息(转)
    c#中Dictionary、ArrayList、Hashtable和数组的区别是什么?[转]
    C#中的枚举
    C#结构体特性
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3303991.html
Copyright © 2011-2022 走看看