Vim 替换字符串(超详细)
一则或许对你有用的小广告
欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论
- 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于
Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...
,点击查看项目介绍 - 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/
截止目前, 星球 内专栏累计输出 66w+ 字,讲解图 2896+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 2300+ 小伙伴加入学习 ,欢迎点击围观
本小节中,我将介绍如何在 Vim 中进行字符串替换,以及一些实用的替换技巧。
1. 基础替换命令
在 Vim 中,使用 :substitute
命令进行字符串替换是相当直观的。其基本格式如下:
:%s/要替换的字符串/新字符串/g
这个命令将会在整个文件中替换所有匹配到的字符串。其中,%
表示对整个文件进行操作,s
表示替换,/要替换的字符串/
是你要被替换的字符串,新字符串
是替换成的新字符串,/g
表示全局替换。
例如,要将文件中所有的 "apple" 替换为 "orange",你可以执行:
:%s/apple/orange/g
2. 局部替换
有时候,你可能只想替换每一行中第一个匹配到的字符串。这可以通过去掉 /g
选项来实现:
:%s/apple/orange/
3. 逐个确认替换
为了避免误操作,可以使用 c
选项逐个确认每次替换。这在替换之前提供了额外的安全层:
:%s/apple/orange/gc
在执行这个命令后,Vim 会在每次替换前询问是否替换。你可以选择 y
表示替换,n
表示不替换。
4. 替换前确认
在执行替换命令前,你可以通过设置 confirm
选项来开启确认提示。这样可以更好地掌控替换操作:
:set confirm
5. 替换特定范围
如果你只想在文件的某个范围内进行替换,可以指定行号范围。例如,只在第 10 行到第 20 行进行替换:
:10,20s/apple/orange/g
6. 使用正则表达式
Vim 支持强大的正则表达式,可以在替换中灵活应用。例如,如果你只想替换以 "apple" 开头的单词:
:%s/\bapple\b/orange/g
在这个正则表达式中,\b
表示单词的边界。
结语
掌握 Vim 中的字符串替换技巧是成为高效编辑者的一部分。通过灵活运用这些命令和选项,你可以更加轻松地进行代码维护和修改。希望这篇文章能够帮助你更好地利用 Vim 的强大功能。