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





  • 相关阅读:
    android模拟器加速
    QtEmbedded鼠标驱动流程分析(上)
    QML Tutorial 1 Basic Types
    android 版本
    【转】右键菜单大揭密
    【转】设置右键显示/隐藏系统文件
    【转】自己做的登录界面五款正常尺寸+一款宽屏【手把手教You如何制作登录界面】
    【转】如何添加鼠标右键菜单里的快捷图标
    【转】鼠标右键菜单设置大全
    【技术贴】我的文档不见了,我的文档消失了,我的电脑没有我的文档的解决办法。
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3303991.html
Copyright © 2011-2022 走看看