在VIM中进行文本替换:
 
    1.  替换当前行中的内容:    :s/from/to/    (s即substitude)
        :s/from/to/     :  将当前行中的第一个from,替换成to。如果当前行含有多个
                            from,则只会替换其中的第一个。
        :s/from/to/g    :  将当前行中的所有from都替换成to。
        :s/from/to/gc   :  将当前行中的所有from都替换成to,但是每一次替换之前都
                            会询问请求用户确认此操作。
 
        注意:这里的from和to都可以是任何字符串,其中from还可以是正则表达式。
 
    2.  替换某一行的内容:      :33s/from/to/g
        :.s/from/to/g   :  在当前行进行替换操作。
        :33s/from/to/g  :  在第33行进行替换操作。
        :$s/from/to/g   :  在最后一行进行替换操作。
 
    3.  替换某些行的内容:      :10,20s/from/to/g
        :10,20s/from/to/g   :  对第10行到第20行的内容进行替换。
        :1,$s/from/to/g     :  对第一行到最后一行的内容进行替换(即全部文本)。
        :1,.s/from/to/g     :  对第一行到当前行的内容进行替换。
        :.,$s/from/to/g     :  对当前行到最后一行的内容进行替换。
        :'a,'bs/from/to/g   :  对标记a和b之间的行(含a和b所在的行)进行替换。
                                其中a和b是之前用m命令所做的标记。
 
    4.  替换所有行的内容:      :%s/from/to/g
        :%s/from/to/g   :  对所有行的内容进行替换。
 
    5.  替换命令的完整形式:    :[range]s/from/to/[flags]
        5.1 s/from/to/
            把from指定的字符串替换成to指定的字符串,from可以是正则表达式。
        5.2 [range]
            有以下一些表示方法:
            不写range   :  默认为光标所在的行。
            .           :  光标所在的行。
            1           :  第一行。
            $           :  最后一行。
            33          :  第33行。
            'a          :  标记a所在的行(之前要使用ma做过标记)。
            .+1         :  当前光标所在行的下面一行。
            $-1         :  倒数第二行。(这里说明我们可以对某一行加减某个数值来
                            取得相对的行)。
            22,33       :  第22~33行。
            1,$         :  第1行 到 最后一行。
            1,.         :  第1行 到 当前行。
            .,$         :  当前行 到 最后一行。
            'a,'b       :  标记a所在的行 到 标记b所在的行。
 
            %           :  所有行(与 1,$ 等价)。
 
            ?chapter?   :  从当前位置向上搜索,找到的第一个chapter所在的行。(
                            其中chapter可以是任何字符串或者正则表达式。
            /chapter/   :  从当前位置向下搜索,找到的第一个chapter所在的行。(
                            其中chapter可以是任何字符串或者正则表达式。
 
            注意,上面的所有用于range的表示方法都可以通过 +、- 操作来设置相对偏
            移量。
 
        5.3 [flags]
            这里可用的flags有:
 
            无      :  只对指定范围内的第一个匹配项进行替换。
            g       :  对指定范围内的所有匹配项进行替换。
            c       :  在替换前请求用户确认。
            e       :  忽略执行过程中的错误。
 
            注意:上面的所有flags都可以组合起来使用,比如 gc 表示对指定范围内的
            所有匹配项进行替换,并且在每一次替换之前都会请用户确认。

vim中替换命令的更多相关文章

  1. vim 中替换命令

    vi/vim 中可以使用 :s 命令来替换字符串.以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询. :s/vivian/s ...

  2. vim全局替换命令

    vim全局替换命令   语法为 :[addr]s/源字符串/目的字符串/[option]全局替换命令为::%s/源字符串/目的字符串/g [addr] 表示检索范围,省略时表示当前行.如:“1,20” ...

  3. 在vim中插入命令行的输出结果

    vim是linux中常见的编辑器,这里讲讲如何在vim中插入命令行的输出结果. 基本用法: 在指令模式下运行 :!command ,如!date将日期显示在vim底部,!ls列出当前目录 将命令结果插 ...

  4. vi/vim 查找替换命令

    vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询.    :s/vivian/sky/ 替换当前行第一个 vivian ...

  5. vim 全局替换命令

    语法  :[addr]s/源字符串/目的字符串/[option]                     :%s/源字符串/目的字符串/c 全局替换命令为: :%s/源字符串/目的字符串/g [add ...

  6. vim全局替换命令-乾颐堂

    语法为 :[addr]s/源字符串/目的字符串/[option] 全局替换命令为::%s/源字符串/目的字符串/g [addr] 表示检索范围,省略时表示当前行. 如:“1,20” :表示从第1行到2 ...

  7. vim之替换命令

    格式:<range>s /<pat1>/<pat2>/gc <range>用来指定替换命令执行的范围: 百分号(%)表示所有行 点(.)表示当前行 美元 ...

  8. Vim 字符串替换命令

    命令模式下输入如下命令可实现替换: s/str1/str2/ 替换当前行第一个 str1 为 str2 s/str1/str2/g 替换当前行中所有的 str1 为 str2 m,ns/str1/st ...

  9. vim字符串替换命令

    呜呜老是忘. 这里记录一下,仅仅记录当中日经常使用的最多的命令. :%s/str1/str2/g   替换每一行中全部str1为str2 经常使用! :s/str1/str2/g 替换当前行全部str ...

随机推荐

  1. [API]使用Blueprint来高雅的编写接口文档 前后端api文档,移动端api文档

    网址:http://apiary.io/ 介绍:一款非常强大的前后端交互api设计编辑工具(编辑器采用Markdown类似的描述标记,非常高效),高颜值的api文档,还能生成多种语言的测试代码. 中文 ...

  2. pstools使用教程

    pstools是sysinternals开发的一个功能强大的nt/2k远程管理工具包. 官方网址为http://www.sysinternals.com/ 下载地址为http://www.sysint ...

  3. table中bordercolor属性设置后最新ie浏览器或firefox中不显示边线,借助table的css来实现边线

    table中的bordercolor属性设置后在最新的ie或者firefox中均不显示边线,table的边线又是常用功能.只能使用css来实现了,更通用,更方便一些. css: ​.ctable{ b ...

  4. mybatis实战教程(mybatis in action)之二:以接口的方式编程

    前面一章,已经搭建好了eclipse,mybatis,mysql的环境,并且实现了一个简单的查询.请注意,这种方式是用SqlSession实例来直接执行已映射的SQL语句:session.select ...

  5. C#Winform连接Oracle数据库 , 及角色讲解

    http://blog.sina.com.cn/s/blog_900ca29d0102vn3r.html 一.连接方法 (1)System.Data.OracleClient 注意1:此方法在.NET ...

  6. SQL JOIN的用法

    背景:(血的教训) 非常感谢能够有幸的去活力世纪面试,面试官非常的祥和,虽然最后没能够去成,但是非常的感谢,是他让我明白了自己还有很多需要去学习,每一次的面试不是为了去证明自己有多强,能拿多少的工资, ...

  7. WindowsForm--Bubble User Control

    创建一个自定义用户控件,拖入一个label:lblWords,和一个richTextBox:txtWords 代码: using System; using System.Collections.Ge ...

  8. Linux 忘记root密码 的解决办法

    以单用户维护模式登录 先将系统重启, 在读秒时按下任意键进入菜单界面,再仔细看菜单下的说明,按下e就能进入grub的编辑模式,如下 将光标移动到kernel那行, 再次按e进入kernel的编辑界面中 ...

  9. Asp.Net MVC及Web API框架配置会碰到的几个问题及解决方案

    前言 刚开始创建MVC与Web API的混合项目时,碰到好多问题,今天拿出来跟大家一起分享下.有朋友私信我问项目的分层及文件夹结构在我的第一篇博客中没说清楚,那么接下来我就准备从这些文件怎么分文件夹说 ...

  10. logstash 配置 logstash-forwarder (前名称:lumberjack)

    logstash-forwarder(曾名lumberjack)是一个用go语言写的日志发送端, 主要是为一些机器性能不足,有性能强迫症的患者准备的. 主要功能: 通过配置的信任关系,把被监控机器的日 ...