VIM查找替换

Vim、Emacs配置和使用
回复
头像
百草谷居士
帖子: 3921
注册时间: 2006-02-10 16:36
系统: Mint21.1/Deepin20.8

VIM查找替换

#1

帖子 百草谷居士 » 2019-10-16 11:17

查找 "电费" "水费" "物业费" 等由双引号包括的字符串,替换为 SUM("电费") SUM("水费") SUM("物业费")

另外,哪里有在VIM中使用正则表达式进行查找替换的,比较好的文章,给推荐个
debian 12 / 深度系统 20.9 / Mint 21.3

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
头像
astolia
论坛版主
帖子: 6454
注册时间: 2008-09-18 13:11

Re: VIM查找替换

#2

帖子 astolia » 2019-10-16 14:55

代码: 全选

:%s/"\(["^]*\)费"/SUM("\1费")/g
https://harttle.land/2016/08/08/vim-search-in-file.html
头像
百草谷居士
帖子: 3921
注册时间: 2006-02-10 16:36
系统: Mint21.1/Deepin20.8

Re: VIM查找替换

#3

帖子 百草谷居士 » 2019-10-17 6:39

谢谢,不过这篇文章提供的信息很有限。我看到资料说 .
表示任意字符,*表示重复0~n次,于是想用".*"来匹配。但是不成功,不知道问题出现在哪里?估计是引号的问题。
我想找的文章是介绍这种模式匹配的文章
debian 12 / 深度系统 20.9 / Mint 21.3

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
头像
astolia
论坛版主
帖子: 6454
注册时间: 2008-09-18 13:11

Re: VIM查找替换

#4

帖子 astolia » 2019-10-17 14:56

你如果对正则表达式的基础不太清楚,建议去学 https://deerchao.cn/tutorials/regex/regex.htm
vim所用的正则式和一般的正则式语法有些不同,学完了上面的再来学 http://vimregex.com/
至于你遇到的问题,十有八九是不清楚贪婪匹配
回复