【vim进阶】VIM批量替换文本(命令模式)格式 :{作用范围}s/{替换目标}/{替换内容}/{替换的标志}

2023-05-16

VIM 处理文本的替换(底行模式)

  • 语法格式:
:{作用范围}s/{替换目标}/{替换内容}/{替换的标志}
  • 作用范围分为当前行、全文、选区等等:

    • s:当前行替换

    • %s:全文替换

    • n1,n2s:指定行替换,替换n1:n2间所有行的目标。

    • ‘<,’>s:指定区域替换

  • 替换标志有g,i,I,c和空标志:

    • g:表示一次替换作用范围内所有的目标。

    • 空标志:只替换作用范围内,每行第一次出现的目标。

    • i:不敏感查找,不区分大小写。

    • I:敏感查找,区分大小写。(默认状态)

    • c:表示替换前需进行确认。

  • 作用范围:

    • s

      :s/zempty/handsome/g
      

      将会把当前光标所在行的 zempty 替换成 handsome

    • %s

      :%s/zempty/handsome/g
      

      将会把全文中的 zempty 替换成 handsome

    • n1,n2s

      :n1,n2s/zempty/handsome/g
      

      这里的 n1 和 n2 值得是行号,将会替换掉 n1 到 n2 的所有 zempty 为 handsome.

    • ‘<,’>s

      选区,在可视模式下选择区域后输入:,VIM 会自动补全为 :'<,'>

      :'<,'>s/zempty/handsome/g
      

      这个操作咋一看起来有点懵逼,这个操作是可视模式 (Visual-mode) 下选区中的替换操作,可视模式下输入会自动补全 :'<,'> 这个是可视范围下的操作范围,类似于 % 和 n1,n2,代表操作的文本范围,上面的例子就是替换掉可视区域的 zempty 为 handsome。

  • 替换的标志

    • 上文中命令结尾的 g 即是替换标志之一,表示全局 global 替换(即替换目标的所有出现)。 还有很多其他有用的替换标志:

    • 空替换标志表示只替换作用范围内,每行第一次出现的目标。

      :s/zempty/handsome
      

      作用于当前行,仅仅替换第一次匹配 zempty 的地方为handsome 。

      :%s/zempty/handsome
      

      替换掉文件中所有行第一次出现 zempty 的地方为 handsome 。

    • i 表示大小写不敏感查找,I 表示大小写敏感:

      :%s/zempty/handsome/i
      

      替换掉所有行第一个出现 zempty (不区分大小写) 为 handsome 。

      :%s/zempty/handsome/gi
      

      替换掉所有行出现 zempty (不区分大小写) 为 handsome 。

    • c 表示需要确认,例如全局查找"zempty"替换为"handsome"并且需要确认:

      :%s/zempty/handsome/gc
      
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【vim进阶】VIM批量替换文本(命令模式)格式 :{作用范围}s/{替换目标}/{替换内容}/{替换的标志} 的相关文章

  • 人工智能轨道交通行业周刊-第42期(2023.4.10-4.23)

    本期关键词 xff1a 车辆智能检测 智能运维 数字孪生 无人机 信号工装备 商汤大模型 1 整理涉及公众号名单 1 1 行业类 RT轨道交通人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道交通
  • mysql视图使用

    先讲下视图的概述吧 视图是一种 虚拟表 xff0c 本身是 不具有数据 的 xff0c 占用很少的内存空间 xff0c 它是 SQL 中的一个重要概念 视图建立在已有表的基础上 视图赖以建立的这些表称为 基表 视图他自己可以被称为 从表 虚
  • 人工智能轨道交通行业周刊-第43期(2023.4.24-5.7)

    本期关键词 xff1a 综合智能检测 隧道检测 智慧城轨白皮书 虚拟编组 讯飞星火大模型 央企数字化 1 整理涉及公众号名单 1 1 行业类 RT轨道交通人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS Wor
  • kolla搭建octavia

    本文是在另外一篇文章的基础上使用kolla ansible 部署octavia实践总结 部分内容总结略有粗糙 xff0c 见谅 使用kolla ansible all in one部署OpenStack Stein https blog c
  • 关闭win10自动更新——组策略

    1 为什么要关闭自动更新 我一向是推荐关闭自动更新 xff0c 然后有时间的时候自己主动去更新 xff0c 因为win10更新还是修复了一些bug的 xff0c 但是自动更新会闹出很多问题 xff0c 例如紧急开会的时候发现电脑在自动更新
  • python 中位于运算符 & 应用

    amp 运算符在计算机中是二进制运算符 xff0c 常使用 amp 61 xff0c 即先进性位于运算符 xff0c 在进行赋值 xff0c 例如 a amp 61 b 等价于 a 61 a amp b 位于运算只二进制 保同除异 a 61
  • 【FreeRDP 】

    Ubuntu18 04安装FreeRDP 远程连接Windows桌面 1 FreeRDP2 环境3 Ubuntu安装xfreerdp4 连接准备5 连接6 问题总结 1 FreeRDP FreeRDP lt 61 61 gt Remote
  • 7-1 编写程序,输入年、月、日,计算该 日是该年的第几天。要求:计算日期、判断闰年均使用自定义函数实现。

    7 1 编写程序 xff0c 输入年 月 日 xff0c 计算该 日是该年的第几天 要求 xff1a 计算日期 判断闰年均使用自定义函数实现 编写程序 xff0c 输入年 月 日 xff0c 计算该 日是该年的第几天 要求 xff1a 计算
  • ifort + mkl + impi (全套intel)编译安装量子化学软件GAMESS 2022 R1版本

    说明 xff1a linux下编译软件都需要先配置好该软件依赖的系统环境 系统环境可以通过软件的安装说明了解 xff0c 例如 xff1a readme md等文件或网页 这个前提条件很重要 xff01 后面正式编译出错基本都可以归结到系统
  • Linux C 编程技巧--利用有限状态机模型编程

    我们知道 xff0c 一般编写程序时都要画出流程图 xff0c 按照流程图结构来编程 xff0c 如果编写一个比较繁琐 xff0c 容易思维混乱的程序时 xff0c 我们可以利用有限状态机模型画出一个状态转移图 xff0c 这样便可以利用画
  • spring读取properties文件属性,文件属性与系统属性冲突

    1 问题概述 spring在读取properties文件属性时 xff0c 当文件属性与系统属性冲突时 xff0c 会读取到系统属性值 2 问题复现 2 1 读取properties文件 创建maven工程在pom xml文件中添加spri
  • C语言实现16进制数与10进制数的转化

    C语言实现16进制数与10进制数的转化 这里有两种情况 xff1a 第一种情况 xff1a 如果我得到的是一个16进制数 xff0c 我通过肉眼看到的就是16进制显示 xff08 这里看到的肯定打印结果 xff09 xff0c 比如85 x
  • MyBatisMapper代理开发中,如何将Mapper接口和sql映射文件放置在同一目录下

    1 前言 1 1 环境准备 创建一个maven工程并导入mybatis坐标及mysql驱动坐标在java目录下创建Mapper接口在resouces目录下创建配置文件和sql映射文件 1 2 正常思维 如何将Mapper接口和sql映射文件
  • MyBatis Mapper代理开发

    文章目录 1 数据库准备2 创建一个maven项目 xff0c 导入mysql驱动坐标和mybatis坐标3 在resources目录下创建配置文件4 在resources目录下创建sql映射文件5 定义mapper接口6 修改配置文件中s
  • spring开启事务

    文章目录 1 概述2 环境准备2 1 spring整合mybatis2 2 添加dao service 在service方法中调用dao方法实现转账效果 2 3 数据库准备 3 不开启事务实现转账3 1 创建测试类 Demo 3 2 运行结
  • spring事务管理原理

    1 环境准备 spring如何开启事务 2 原理 在上面链接文章中吗 xff0c 我们通过A向B转账500在不开启事务情况下 xff0c reduceMoney方法和addMoney分别开启2个不同的事务 xff0c 因此在发生异常后会出现
  • spring事务相关配置之propagation

    文章目录 1 概述2 环境准备2 1 spring整合mybatis2 2 数据库准备2 2 1 account表2 2 2 log表 2 3 创建dao service并开启spring事务2 3 1 AccountDao2 3 2 Lo
  • spring事务相关配置之rollback

    文章目录 1 概述2 环境准备3 使用 96 rollbackFor 96 1 概述 我们知道当开启spring事务后 xff0c 如果出现异常 xff0c 那么数据库数据会进行回滚 但是并不是所有异常都会回滚因此我们可以使用rollbac
  • ios 音频录音、上传至7牛、播放及其与android兼容的问题

    iOS录音使用AVAudioRecorder xff0c 播放用 AVPlayer 就可以很好的解决 xff0c 网上也有很多的教程 这里就不细讲 xff0c 后面会附上代码 先说一下demo内容 xff0c 现在项目要求做一个录音 上传
  • 数据库

    1 查询选修1号课程的学生学号和成绩 xff0c 并要求对查询结果按成绩的降序排列 xff0c 如果成绩相同则按学号的升序排列 Select sno grade From sc Where cno 61 1 Order by grade D

随机推荐