Maoyl's blog Maoyl's blog
首页
  • 前端基础

    • HTML
    • CSS
    • CSS动画
    • JavaScript文章
    • stylus
  • 性能优化

    • 《性能优化》笔记
  • 学习笔记

    • 《JavaScript教程》笔记
    • 《JavaScript高级程序设计》笔记
    • 《ES6 教程》笔记
    • 《JavaScript设计模式》笔记
    • 《TypeScript 从零实现 axios》
    • TypeScript笔记
    • JS设计模式总结笔记
  • 前端框架

    • Vue相关
    • React相关
  • 前端监控

    • 前端监控简介
  • 学习笔记

    • 《Vue》笔记
    • 《React》笔记
    • 小程序学习笔记
  • 后端基础

    • Nodejs
  • 学习笔记

    • 数据结构
  • 技术文档
  • GitHub技巧
  • 博客搭建
  • 网页性能
  • 学习笔记

    • 《Git》学习笔记
    • 《Vim》学习笔记
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
  • 网站
  • 资源
  • Vue资源
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

maoyln

日日行,不怕千万里
首页
  • 前端基础

    • HTML
    • CSS
    • CSS动画
    • JavaScript文章
    • stylus
  • 性能优化

    • 《性能优化》笔记
  • 学习笔记

    • 《JavaScript教程》笔记
    • 《JavaScript高级程序设计》笔记
    • 《ES6 教程》笔记
    • 《JavaScript设计模式》笔记
    • 《TypeScript 从零实现 axios》
    • TypeScript笔记
    • JS设计模式总结笔记
  • 前端框架

    • Vue相关
    • React相关
  • 前端监控

    • 前端监控简介
  • 学习笔记

    • 《Vue》笔记
    • 《React》笔记
    • 小程序学习笔记
  • 后端基础

    • Nodejs
  • 学习笔记

    • 数据结构
  • 技术文档
  • GitHub技巧
  • 博客搭建
  • 网页性能
  • 学习笔记

    • 《Git》学习笔记
    • 《Vim》学习笔记
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
  • 网站
  • 资源
  • Vue资源
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 简介

  • vim

    • 起步
    • 相关命令的知识
    • 认识vim语法
    • 删改重做命令提升效率
    • 认识可视化模式
    • 什么是文本对象
    • 快速移动
    • 掌握搜索命令
    • vim-easymotion
    • 数字与'.'的威力
    • 多文件跳转
    • vim-surround
    • 字符替换和多文本选中
      • 替换
        • 公式
      • 多选操作
      • 练习
    • 大小写、注释与提示
    • 窗口管理大法
    • 快速删除一个函数
    • vim的宏操作
    • 调用vscode命令
  • vscode

  • 《Vim》学习笔记
  • vim
maoyln
2022-06-18
目录

字符替换和多文本选中

# 变化之术:替换字符和多文本选中

前面学习了 r c 等可以修改文本的指令,再配合文本对象可以达到一个“快速”修改文本的效果,这里打双引号是因为,这些学过的修改替换文本,都是单个替换;而实际情况中,我们往往需要一次性修改多个地方的相同字符,比如修改一个变量名、函数名等;今天,我们就来了解一下选中和替换的操作。

# 替换

多文本替换的操作指令是 :substitute,一般直接用 :s;替换的完整指令公式是::[range]s[ubstitute]/{pattern}/{string}/[flags];

# 公式

  • [range]:指范围,可以使用如下几个指令:

    • %:匹配全文,建议只记忆这个就可以了,比较常用
    • $:匹配到尾部;并非如 $s 这样使用,而是搭配下面的数字键,如 :12,$s/[文本]/[文本],即匹配从 12 行到页面尾部
    • [number],[number]:匹配从 [number] 行到 [number] 行,如 :10,12s/[文本]/[文本],即匹配从 10 行到 12 行
  • {pattern}:正则表达式

  • [flags]:

    • g:匹配所有符合的字符;由于在使用 s 来匹配字符时,默认是匹配每一行的第一个,所以如果需要匹配所有,则需要加上 /g
    • c:弹出对话框来确认每一个替换
  • visual mode 下输入 :,可以注意到命令栏会显示 :'<,'>,这其实是指从选中区域的开头到选中区域的结尾,相当于给我们划定了一个 [range],这是我们接着输入 s,即可以选中文本进行替换

# 多选操作

gb 命令可以选中与我们光标所在的单词相同的且未被选中的第一个单词;比如有:

number number
number
1
2

如果我们的光标在第一个 number 里面,并按下 gb,则会选中第一个 number;如果我们此时再按多一个 gb,则会选中第二个 number;如此类推。选中多个之后,我们就可以使用 d c 等命令来多光标修改了。

# 练习

vnode world

vnode hello world

vnode test
1
2
3
4
5
编辑 (opens new window)
#Vim
上次更新: 2025/04/18, 01:42:12
vim-surround
大小写、注释与提示

← vim-surround 大小写、注释与提示→

最近更新
01
GSAP动画库——如何高效写动画
04-17
02
自适应方案PxToRem
09-10
03
性能优化-requestAnimationFrame
08-10
更多文章>
Theme by Vdoing | Copyright © 2019-2025 备案号:京ICP备19058102号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式