一般替换

s/old/new   --- 替换当前行的第一个匹配项

s/old/new/g ---- 替换当前行所有的匹配项

number1,number2-s/old/new/g  ---- 替换从number1行到number2行中所有的匹配项

1,$s/old/new/g = %s/old/new/g ----- 替换整个文件的所有匹配项

确认再替换

在替换命令后面加个c(confirm),例如1,30s/his/the/gc。每次找到匹配项时会提示是否需要替换,输入y,Enter确认替换,不需要替换直接Enter跳过

context-sensitive 替换 g/pattern/s/old/new/g

第一个g表示需要从所有行查找pattern,后面的g表示当前行所有的匹配项都替换。

如果pattern和old是一样的,old可以省略,这样的命令等同于%s/old/new/g

正则表达式匹配规则

. ---- 匹配除换行符以外的所有字符

* ---- 匹配0个或多个字符

^ ---- 匹配一行的开始

$ ---- 匹配一行的结束

\ ---- 反意字符,表示后面的字符为一个常规字符。

\( \) --- 占位符,一行最多可以有9个。例如\(That\) or \(this\)    \(That\)为1号,后面需要用到That就可以使用\1来代替,\(this\)为2号,是用\2来调用。例如把That or this 替换为this or That则可以用命令%s/\(That\) or \(this\)/\2 or \1

\< /> ---- 匹配以字符开头或结尾的单词,例如\<ac 匹配以ac开头的单词,ac/>则匹配以ac结尾的单词

~ ---- 在查找中匹配上一个使用的正则表达式。例如开始查找/The,现在想查找/Then,则可以使用/~n来代替/Then

POSIX character classes

[:alnum:] ---- 匹配字母数字字符

[:alpha:] ---- 匹配字母字符

[:blank:] ---- 匹配空格和Tab字符

[:cntrl:] ---- 匹配Control字符

[:digit:] ---- 匹配数字字符

[:graph:] ---- 匹配可打印的和可见的非空白字符

[:lower:] ---- 匹配小写字符

[:print:] ---- 匹配可打印的字符包括空白

[:punct:] ---- 匹配标点符号字符

[:space:] ---- 匹配空白字符

[:upper:] ----- 匹配大写字符

[:xdigit:] ---- 匹配16进制的数字字符

在替换字符中使用元字符

\n ---- n表示0,9,前面说过\( \)保存的表达式

\ ---- 表示后面的特殊字符为普通字符

& ---- 表示查到的字符串

~ ---- 表示上一次替换的字符串

\u \l ---- 表示改变其后的字符为大写的或小写的,例如s/\(That\) or \(this\)/\u\2 or \l\1  把That or this 替换成This or that

\U \L 和\e \E ---- 表示改变其后的字符为大写的或小写的直到\e或\E的出现

转载于:https://www.cnblogs.com/hanwwly/p/3976148.html

vim使用指北 ---- Global Replacement相关推荐

  1. python scatter 简书_写给 Pythonist 的 Spacemacs 入门指北

    前言 最开始,使用 Sublime Text 编码,后来用 Vim 混合 PyCharm 写 Python. 前几天,Github 上的 Spacemacs 已经成功的突破一万 Star, 听说几个我 ...

  2. OpenHarmony LiteOS C-SKY指令集移植指北

    摘要:本文介绍在OpenHarmony社区LiteOS-M项目中新增C-SKY指令集的开发流程,以及适配相应qemu工程的方法和步骤,供LiteOS内核相关开发者学习交流. 本文分享自华为云社区< ...

  3. Laravel 集成 JPush 极光推送指北

    2019独角兽企业重金招聘Python工程师标准>>> 我是一个 Laravel 小白,我是一个 Laravel 小白,我是一个 Laravel 小白(默念三遍再往下读,如果非小白就 ...

  4. Python 简单入门指北(二)

    Python 简单入门指北(二) 2 函数 2.1 函数是一等公民 一等公民指的是 Python 的函数能够动态创建,能赋值给别的变量,能作为参传给函数,也能作为函数的返回值.总而言之,函数和普通变量 ...

  5. php集成jpush教程,Laravel 集成 JPush 极光推送指北

    我是一个 Laravel 小白,我是一个 Laravel 小白,我是一个 Laravel 小白(默念三遍再往下读,如果非小白就不用看了). Laravel 使用 Composer 来管理代码依赖.所以 ...

  6. Caffe环境搭建指北

    <Caffe环境搭建指北>   caffe的全称是Convolutional Architecture for Fast Feature Embedding,是一个清晰高效的深度学习开源框 ...

  7. 【博客排版】中文文案排版指北(转载)

    原文链接:中文文案排版指北--GitHub 文章目录 空格 中英文之间需要增加空格 中文与数字之间需要增加空格 数字与单位之间无需增加空格 全角标点与其他字符之间不加空格 `-ms-text-auto ...

  8. 「转」中文文案排版指北

    中文文案排版指北 統一中文文案.排版的相關用法,降低團隊成員之間的溝通成本,增強網站氣質. Other languages: English Chinese Traditional Chinese S ...

  9. 海康威视工业相机MV-CE060-10UC使用指北

    海康威视工业相机MV-CE060-10UC使用指北 海康威视工业面阵相机MV-CE060-10UC非UVC设备,欲使用该工业相机进行二次开发,需使用MVS机器视觉工业相机客户端.本文以x86架构下Li ...

  10. Python 简单入门指北(试读版)

    本文是我小专栏中 Python 简单入门指北 一文的前半部分,如果你能坚持读完并且觉得有一定收获,建议阅读原文,只需一杯咖啡钱就可以阅读更精彩的部分,也可以订阅小专栏或者加入我的知识星球,价格都是 6 ...

最新文章

  1. IDEA集成Docker插件实现一键自动打包部署微服务项目
  2. 2021年中国工业互联网安全大赛核能行业赛道writeup之入门的黑客
  3. PNAS:大脑一思考,就不再对称也不再平衡
  4. 2020-11-22(工作集与常驻集)
  5. 目标文件里面到底有什么(2)?
  6. 商业软件划分的网格导入OpenFOAM问题总结【终极】
  7. Oracle访问数据的存取方法
  8. 如何在Java中对文件进行模式匹配和显示相邻行
  9. HDU 3435 KM A new Graph Game
  10. 120分钟React快速扫盲教程
  11. 重温《数据库系统概论》【第一篇 基础篇】【第4章 数据库安全性】
  12. 会议容易中吗_【留学评估】美国留学后就业真的和想象中的一样容易吗?
  13. nginx ---- Nginx服务器基础配置实例
  14. 移动开发痛点之一-接口验证之PostMan图文教程
  15. 2014 找工作总结
  16. 【HDOJ】3500 Fling
  17. matlab2017调用vgg19,从VGG19的任意中间层中抽取特征
  18. 连肌肉颤动都清晰可见!3D人体模型自动生成算法,一作来自北大图灵班 | SIGGRAPH...
  19. 华为数通笔记-网络准入控制
  20. 使用npm安装下载jQuery

热门文章

  1. 【NLPCC 2020】Call for Participation: Shared Tasks in NLPCC 2020
  2. 算法面试题:均分纸牌
  3. TF2.0—tf.keras.layers.Activation
  4. Attention Model详解
  5. LeetCode学习记录(1-3)
  6. 你的名字比我生命更重要
  7. 嵌入式LINUX内核开发专家谈“龙芯”签约MIPS
  8. 6.1 tensorflow2实现WideDeep推荐系统——Python实战
  9. 8.3 bert的蒸馏讲解 意境级
  10. docker 服务器重启 镜像丢失_将你的前端应用打包成docker镜像并部署到服务器?仅需一个脚本搞定...