首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

(g)vim替换正则表达式

在Vim或者GVim中,你可以使用 :%s/ 命令来进行全局的正则表达式替换。这个命令的基本格式如下:

代码语言:javascript
复制
:%s/old/new/g

这里,old 是你想要替换的正则表达式,new 是你想要替换成的文本,g 表示全局替换,也就是替换每一行中的所有匹配。

例如,如果你想要替换所有的数字为 "num",你可以使用以下命令:

代码语言:javascript
复制
:%s/\d\+/num/g

这里,\d\+ 是一个正则表达式,匹配一个或多个数字。

如果你想要在替换之前确认每一个匹配,你可以在命令的末尾添加 c 选项:

代码语言:javascript
复制
:%s/old/new/gc

这样,Vim会在每次替换之前询问你是否确认。

请注意,Vim使用的是一种稍微不同的正则表达式语法,称为 "非常规" 正则表达式。在这种语法中,一些字符(如 +)需要使用 \ 进行转义。如果你更喜欢使用 "非常规" 正则表达式,你可以在命令的开头添加 \v

代码语言:javascript
复制
:%s/\vold/new/g

在这种模式下,大多数特殊字符都不需要转义。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Vim查找替换

,其中前三个这两个是vi与vim通用的,“/”为转义字符。 在查找模式中加入\c表示大小写不敏感查找,\C表示大小写敏感查找。...:’s/foo/bar/g 选区,在Visual模式下选择区域后输入:,Vim即可自动补全为 :’。...(global) : s/foo/bar/g当前行将foo替换为bar :%s/foo/bar/g全文行将foo替换为bar :5,12s/foo/bar/g第5到12行将foo替换为bar :...回车后Vim会将光标移动到每一次”foo”出现的位置,并提示按下y表示替换,n表示不替换,a表示替换所有,q表示退出查找模式, l表示替换当前位置并退出。...E与Y是光标移动快捷键,参考: Vim中如何快速进行光标移 1、 : s/vivian/sky/ #替换当前行第一个 vivian 为 sky 2、 : s/vivian/sky/g #替换当前行所有

2.9K10

Vim中查找替换正则表达式的使用详解

前言 正则表达式是文本处理领域中的一个强大的工具,它可以让文本处理的能力呈指数级的提升,如果一款文本编辑器不支持正则表达式,那么它就算不上是一个现代化的编辑器,这绝非虚言。...下面这篇文章主要跟大家介绍了关于Vim查找替换正则表达式使用的相关内容,分享出来供大家参考学习,下面来一起看看吧。...flags 有如下四个选项: c confirm,每次替换前询问; e error, 不显示错误; g globle,不询问,整行替换。...如果不加g选项,则只替换每行的第一个匹配到的字符串; i ignore,忽略大小写。 这些选项可以合并使用,如cgi表示不区分大小写,整行替换替换前询问。...$// 或者 g/^\s*$/d 删除以空格或TAB开头到结尾的空行:%s/^[ |\t]*$// 或者 g/^[ |\t]*$/d 把文中的所有字符串“abc……xyz”替换为“xyz……abc”可以有下列写法

5.7K10

vivim 文件查找与替换vim

有时候我们需要整个文件或者整个目录替换一些字符, vim强大的替换和查找便派上用场了、 一、介绍 语法:[搜索范围]s/[源字符]/[目的字符]/[参数] s标示替换 搜索范围: "1,n":表示从第...1行到n行 "%":表示整个文件,同"1, 参数: g:globe,表示全局替换 c:confirm,表示进行确认 p:表示替代结果逐行显示(Ctrl + L恢复屏幕) i:ignore,不区分大小写...参数省略时仅对每行第一个匹配串进行替换 扩充: s:表示替换操作,其为substitute的缩写 源字符串和目的字符串中若有特殊字符,加反斜杠\进行转义 二、实例 1.当前行的第一个a替换为b :s.../a/b/ 2.当前行的所有a替换为b :s/a/b/g 3.整个文件的a替换为b :%s/a/b/g 4.一到三行的第一个a替换为b :1,3s/a/b/ 5.找到包含字符a的行并删除 :g/a/d...6.删除所有空行 :g/^$/d 7.高级的会涉及一些正则表达式和转义,用的不多,不必记忆

1.7K30

vim 正则表达式

毋庸多言,在vim正则表达式得到了十分广泛的应用。 最常用的 / 和 :s 命令中,正则表达式都是不可或缺的。 下面对vim中的正则表达式的一些难点进行说明。...于是,vim就规定,正则表达式的元字符必须用反斜杠进行转义才行, 如上面的例子,如果确实要用正则表达式,就应当写成 /foo\(1\) 。...命令本身倒是相当简单,用过正则表达式的人估计都知道“.”匹 配表示除换行符之外的任何字符吧。 4,去掉所有的“/* */”注释:“:%s!\s*/\*\_.\{-}\*/\s*! !g”。...这个略有点复杂了,用到了几个不太常用的 Vim 正则表达式特性。...“\_.”匹配包含换行在内的所有字符;“\{-}”表示前一个字符可出现零次或多次,但在整个正则表达式可以匹配成功的前提下,匹配的 字符数越少越好;标志“g”表示一行里可以匹配和替换多次。

1.4K30

vim中优雅地查找和替换

Vim会跳转到第一个匹配。按下n查找下一个,按下N查找上一个。 Vim查找支持正则表达式,例如/vim匹配行尾的"vim"。...语法如下: :{作用范围}s/{目标}/{替换}/{替换标志} 例如:%s/foo/bar/g会在全局范围(%)查找foo并替换为bar,所有出现都会被替换g)。...当前行: :s/foo/bar/g 全文 :%s/foo/bar/g 选区,在Visual模式下选择区域后输入:,Vim即可自动补全为 :。...:'s/foo/bar/g 2-11行 :5,12s/foo/bar/g 当前行.与接下来两行+2: :.,+2s/foo/bar/g 替换标志 上文中命令结尾的g即是替换标志之一,表示全局global...按下y表示替换,n表示不替换,a表示替换所有,q表示退出查找模式, l表示替换当前位置并退出。^E与^Y是光标移动快捷键,参考:Vim中如何快速进行光标移动。

3.1K20

vim 从嫌弃到依赖(19)——替换

之前讨论了关于在vim中使用正则表达式的相关知识能方便的进行搜索,现在在之前的基础之上继续来讨论如何进行替换操作。...这里我们使用 /g 替换每一处出现 python 的地方。...vim会询问我们是否需要进行替换。即我们在这里输入 :%s/python/vim/gc。后面可以按下 y 来确定替换,n 表示不进行替换并切换到下一处匹配。...复杂的正则表达式我们无法一次就输对,如果进行替换操作的时候因为正则表达式输入不对导致每次都得重新输入一堆内容就显得比较麻烦了。...我们可以使用 :%s/Name/Number/g 来执行替换,但是有一个问题就是它将所有的内容都进行了一个替换。好在可以使用一次 u来撤销所有修改。

2.7K10

vim替换wordpress中所有谷歌字体链接

因为wordpress网站的主题在加载中会花费很多时间在寻找谷歌字体上,我也试过各种插件均无效,这个问题纠结很久了,今天终于忍无可忍用vim的全局文件替换的两个命令搞定之.特地记录下来, 原理: 1、首先在程序源代码中找到调用...family=Open+Sans:300,400,600&subset=latin,latin-ext' rel='stylesheet'> 输入命令 首先在linux中进入到wordpress的网站文件内 vim...执行过程 会出现大量红色警告,说某某文件没有找到..一直按pgdn或者方向键往下,一直按 image.png 当出现如下则说明在某一个文件中找到了,则按y或者a允许进行替换 image.png 验证效果...49878.html http://blog.csdn.net/qilihechuncai/article/details/8587389 原创文章,转载请注明: 转载自URl-team 本文链接地址: vim...替换wordpress中所有谷歌字体链接 Related posts: wordpress解决谷歌字体问题–与谷歌字体的战争!

81120

Vim第四讲 搜索、查找、替换

输入 :s/thee/the/g 则是替换全行的匹配串,该行中所有的 "thee" 都会被 改变。...要替换两行之间出现的每个匹配串,请 输入 :#,#s/old/new/g 其中 #,# 代表的是替换操作的若干行中 首尾两行的行号。...在一行内替换 头一个 字符串 old 为新的字符串 new,请输入 :s/old/new 在一行内替换 所有 的字符串 old 为新的字符串 new,请输入 :s/old/new/g 在 两行内 替换所有的字符串...old 为新的字符串 new,请输入 :#,#s/old/new/g 在 文件内 替换所有的字符串 old 为新的字符串 new,请输入 :%s/old/new/g 进行全文替换时 询问用户确认 每个替换需添加...c 标志 :%s/old/new/gc --------------------- Author: Frytea Title: Vim第四讲 搜索、查找、替换 Link: https://blog.frytea.com

1.2K20

关于在vim中的查找和替换

Vim会跳转到第一个匹配。按下n查找下一个,按下N查找上一个。 Vim查找支持正则表达式,例如/vim$匹配行尾的"vim"。 需要查找特殊字符需要转义,例如/vim\$匹配"vim$"。...按下g*即可查找光标所在单词的字符序列,每次出现前后字符无要求。 即foo bar和foobar中的foo均可被匹配到。 5,查找与替换 :s(substitute)命令用来查找和替换字符串。...语法如下: :{作用范围}s/{目标}/{替换}/{替换标志} 例如:%s/foo/bar/g会在全局范围(%)查找foo并替换为bar,所有出现都会被替换g) 6,作用范围 作用范围分为当前行、全文...当前行: :s/foo/bar/g 全文: :%s/foo/bar/g 选区,在Visual模式下选择区域后输入:,Vim即可自动补全为 :'。...:'s/foo/bar/g 2-11行: :5,12s/foo/bar/g 当前行.与接下来两行+2: :.,+2s/foo/bar/g 替换标志 上文中命令结尾的g即是替换标志之一,表示全局global

22.4K40

VIM批量操作-正则表达式

上次我们用宏操作的方式在VIM中由一行代码批量生成了一系列相似的代码,原文在这里这次我们用正则表达式的方式实现批量替换把上次的小练习先贴出来在GVIM下,将下面这张图的内容图片改成下面这样图片并且指出,...,因此我们先将第一行内容进行复制粘贴在普通模式下gg//回到首行yy//复制首行内容19p//粘贴19次图片之后变成这样了再进行替换之前,介绍下VIM替换的方式替换的格式为:s/a/b/g //将a...替换成b//s是substitute,g是global我们先gg回到首行,然后看看加上g和不加g的区别命令行执行如下内容:s/1/aa/图片可以看到,只有第一行的第一个1变成了aa再执行如下内容u//undo...,撤销上一步操作:s/1/aa/g图片可以看到此时首行所有的1都被替换成了aa虽然加上g将首行的1全部替换成了aa,但也只有首行被替换了,如果多行都需要替换,我们不可能在每一行都执行这个操作,因此引入了...+n先试一下,将首行的2改成行号×10:s/2/\=line(".") * 10/图片首行的2成功被替换成了10准备工作结束,下面直接直接给出批量更改的正则表达式:%s/\d/\=line(".")

50320
领券