Vim 操作-替换

substitute

:[range]s[ubstitute]/{pattern}/{string}/{flag}
  • 替换的操作范围以为基础;
  • %-全局范围,m,n-使用逗号隔开的 m 到 n 范围,. 表示当前操作行;
  • 特殊字符需要用转义符号 \,如 \s\/

1. Range 设定

  • :%s/.../g,对当前文本的每一行操作

  • :m,ns/.../g,对 m 行到 n 行执行操作;

  • :m,$s/.../g,对 m 行到最后一行执行操作;

  • :0,ms/.../g,对首行到 m 行执行操作;

  • :.,$s/.../g,对当前行到最后一行执行操作;

:%s/foo/bar/g  # 在全局范围内(%)查找foo并将之替换为bar,所有出现都会被替换(g)
:s/foo/bar/g # 在当前行内查找foo并将之替换为bar,所有出现都会被替换(g)
:'<,'>s/foo/bar/g # 在选区内进行替换,Visual模式下选择区域后输入会自动补全'<,'> :10,$s/demo/substring/g # 从第10行到最后一行进行替换
:10,$s/demo//g # 从第10行到最后一行进行替换,将demo替换为空 :.,$s/demo//g # 从当前行到最后一行进行替换,将demo替换为空
:0,.s/demo//g # 从首行到当前行进行替换,将demo替换为空

2.删除空格

基本格式 :s/.../g

  • ^\s*$\n\s*- 匹配0个或多个空白字符,\n: 匹配换行符;
  • // 表示替换为空;
:%s/^\s*$\n//g # 含义同上
:.,$s/^\s*$\n//g
:'<,'>s/^\s*$\n//g

3.替换确认

c: confirm,与 g 进行配合设置

:10,$s/demo/substring/gc # 从第10行到最后一行进行替换

Vim 操作-替换的更多相关文章

  1. vim全局替换命令

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

  2. vim操作备忘录

    vim操作备忘录 vim 备忘录 vim的书籍虽然看不不少,可是老是容易忘记,主要是自己操作总结过少,这个博客就主要用来记录一些比较常见的术语和操作,以防止自己再次忘记. <leader> ...

  3. [No0000191]7种提高工作效率的Vim操作-Vim使用技巧(6)

    Vim一直被认为是一种非常高效的文本编辑器,但是对于普通用户来说,很难在入门的时候就体会到Vim的所谓高效性. 本文介绍7种提高你工作效率和生产力的Vim使用技巧,主要集中在对某个文件范围内的特定目标 ...

  4. vim字符串替换及小技巧

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

  5. VIM操作基础命令

    VIM操作基础命令 1 文件操作 1.1 打开文件 VIM 使用 –o 或 –O 选项打开多个文件,其中 –o 表示垂直并排,例如 vim -o lesson4 lesson5 lesson6.大O表 ...

  6. 转 Vim操作

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

  7. vim学习笔记(1)——vim操作

    仅记录一些自己最经常使用的vim操作.随时更新 文本操作 d 剪切.双击剪切一行 y 复制,双击复制一行 p 粘贴 x 删除当前光标下字符 r 替换当前光标字符.后面接替换的字符 :s/old/new ...

  8. Vi/Vim查找,替换,统计使用方法

    Vi/Vim查找替换使用方法 vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询. 可以使用 # 作为分隔符,此时中间出现 ...

  9. linux下vi或vim操作Found a swap file by the name的原因及解决方法

    在linux下用vi或vim打开Test.java文件时 [root@localhost tmp]# vi Test.java出现了如下信息: E325: ATTENTION    Found a s ...

  10. VIM对替换的数字进行计算

    VIM对替换的数字进行计算 运行下面的命令 %s/sub(\([0-9]*\))/\=submatch(1)+8/g 函数式 :s/替换字符串/\=函数式

随机推荐

  1. 给 Python 添加进度条 | 给小白的 tqdm 精炼实例!

    给 Python 添加进度条 | 给小白的 tqdm 精炼实例! 假设我们有一个循环: for i in range(100): do_something() # 这里做某些事 假设 do_somet ...

  2. LCR 170. 交易逆序对的总数

    交易逆序对的总数 在股票交易中,如果前一天的股价高于后一天的股价,则可以认为存在一个「交易逆序对」.请设计一个程序,输入一段时间内的股票交易记录 record,返回其中存在的「交易逆序对」总数. 示例 ...

  3. w3cschool-Groovy 教程

    Groovy的特点 Groovy中有以下特点: 同时支持静态和动态类型. 支持运算符重载. 本地语法列表和关联数组. 对正则表达式的本地支持. 各种标记语言,如XML和HTML原生支持. Groovy ...

  4. MySQL---约束、主从复制原理、Docker搭建

    MySQL(11)---约束 含义: 一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性. 先把Mysql几种约束列出来: 主键约束 外键约束 唯一性约束 非空约束 默认值约束 自增约束 ...

  5. Nodify学习 伍:添加移除连接控制器,设置节点初始位置

    前置 移除连接 要删除连接,只需监听来自连接器本身或编辑器的断开连接事件,并删除具有连接器作为源或目标的连接.为了简单起见,我们将为 NodifyEditor 实现 DisconnectConnect ...

  6. 云网融合再加码!天翼云SD-WAN PON来了!

    近日,在中国电信集团政企信息服务事业群的组织下,天翼云科技有限公司联合中国电信上海分公司,成功举办2023年天翼云SD-WAN PON融合网关试点成果总结及推广会.会上,中国电信集团政企领导和专家,以 ...

  7. redis 过期监听配置

    package org.jeecg.config; import java.lang.reflect.Method; import java.time.Duration; import java.ut ...

  8. SQL注入的业务场景以及危害

    SQL注入的业务场景以及危害 在现代Web应用中,数据库是存储和检索数据的核心组件.然而,当Web应用未能正确验证和过滤用户输入时,就可能会遭受SQL注入攻击.SQL注入是一种严重的安全漏洞,它允许攻 ...

  9. .Net 配置绑定 IOptions

    准备   首先准备下appsettins.json以及目标类   appsettins.json "StudentSettings": { "Id": 1023 ...

  10. RabbitMQ(三)——简单模式

    RabbitMQ系列 RabbitMQ(一)--简介 RabbitMQ(二)--模式类型 RabbitMQ(三)--简单模式 RabbitMQ(四)--工作队列模式 RabbitMQ(五)--发布订阅 ...