在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. linux最强编辑神器vim常用命令大全:编辑、插入、删除、替换、保存...

    我说vim是编辑器之神大家没有意见吧 下面分享一些vim常用命令,大家可以收藏一下 进入vim:  vim配置: vim中光标移动: vim中屏幕滚动: vim中插入文本类: 文本替换: 格式 : 范 ...

  2. Vim常用命令总结

    Vim常用命令总结: 下文是小编自己整理的关于日常linux vim编程过程中用的一些常用命令,资料参考鸟哥的 如果有需要的小伙伴可以参考一下!(底部有下载地址) 一. 一般模式可用的按钮说明 1.1 ...

  3. vim基础命令

    2015-06-04 by komilevim基础命令 打开一个文件 vim index.php 几种模式说明Normal Mode也就是最一般的普通模式,默认进入vim之后,处于这种模式.Inser ...

  4. vim常用命令(iOS)

    iOS下vim的使用: vim 的三种模式: .一般模式(默认) .插入模式(写文字) .命令行模式(保存) 各种模式的功能区分如下: .一般模式:控制屏幕光标的移动,字符和光标的删除,移动复制某区段 ...

  5. 实用手册:130+ 提高开发效率的 vim 常用命令

    Vim 是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用.和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器.这里收录了130+程 ...

  6. vim常用命令汇总

    vim常用命令汇总: http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html 定位 本行第一个字符 ctrl+$ ...

  7. [转]vim常用命令

    [转]vim常用命令 http://www.cnblogs.com/sunyubo/archive/2010/01/06/2282198.html http://blog.csdn.net/wooin ...

  8. vim常用命令 vim键盘布局

    vim键盘布局,vim快捷键 vim常用命令:

  9. vim替换命令

    转载:http://blog.csdn.net/glorin/article/details/6317098 替換(substitute) :[range]s/pattern/string/[c,e, ...

随机推荐

  1. 201521123037 《Java程序设计》第6周学习总结

    1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 1.2 可选:使用常规方法总结其他上课内容. 接口与抽象类 ...

  2. 201521123111《Java程序设计》第9周学习总结

    1. 本章学习总结 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 附上一个链接 2. 书面作业 本次PTA作业题集异常 1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 ...

  3. 201521123003《Java程序设计》第10周学习笔记

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 2. 书面作业 本次PTA作业题集异常.多线程 1.finally 题目4-2 1.1 截图你的提交结果(出 ...

  4. java课程设计-猜数游戏

    1. 团队名称.团队成员介绍 团队名称:breeze 团队成员 组长:网络1514张朝玮 201521123106 组员:网络1513侯帅军 201521123092 2. 项目git地址 https ...

  5. 如何实现Sublime Text3中vue文件高亮显示的最有效的方法

    今天第一次使用Sublime Text3软件,在实现vue文件高亮显示的过程中一直报错,经过了半天时间的不停尝试终于找到了最有效的一种解决方法!错误提示如下: 刚开始尝试了很多方法都不行,只要打开in ...

  6. 升级Linux tar &&解决某用tar解压失败的tar包

    今天解压个文件,出来很多这样的: /bin/tar: Ignoring unknown extended header keyword `SCHILY.dev'/bin/tar: Ignoring u ...

  7. MySQL线程池的引入可以提高我们的MySQL的性能

    支持线程池的版本:MySQL 企业版本,MySQL percona的分支 MariDB 的版本.我们知道我们的MySQL 语句是不支持硬解析的,没有无SQL 解析 cache.每个连接对应一个线程,我 ...

  8. BZOJ2431_逆序对数列_KEY

    转自YXDs 题目传送门 不知道今天是怎么了,可能是空调吹多了吧,一直不在状态,连递推题我都做不来了--(扎Zn了老Fe--) 然而,不管环境如何恶劣,我们仍要努力学习,为了自己的明天而奋斗.(说的好 ...

  9. program 1 : python codes for login program(登录程序python代码)

    #improt time module for count down puase time import time #set var for loop counting counter=1 #logi ...

  10. Pro Flight YOKE 设备键位映射踩过的坑

    背景 VR游戏项目.街机游戏项目7月阶段版本快要结束了,考虑到带有键鼠外设显得逼格比较Low,所以决定采用"高大上"的专业设备来进行游戏操作. 需求 需要将键盘鼠标操作的18个键位 ...