vi替换命令

Vim查找与替换命令大全详细介绍 Vim替换命令的基本语法是:[range]s[ubstitute]/{pattern}/{string}/[flags]。其中,[range]表示替换的范围,{pattern}表示要查找的模式,{string}表示要替换的字符串,[flags]表示一些特殊的标志。此外,Vim还支持一些特殊的替换技巧,如使用正则表达式进行复杂模式的匹配和替换、利用子匹配进行更精确的替换等。这些技巧可以根据具体的需求进行学习和应用。总的来说,Vim的查找和替换功能非常强大且灵活,掌握这些命令可以大大提高文本编辑的效率。 阅读详情

vi替换命令

 

 

全局替换

:.,%s/Tracker->Debug(/fprintf(stderr,/g

:%s/Tracker->Debug(/fprintf(stderr,/g

aaaa--->>>>bbbb

:%s/aaaa/bbbb/g

 

 

在vim中使用的替换命令如下: 

:n,ms/old/new/g:将第n行和第m行之间的old字符都替换为new字符 

:s/old/new/g:将当前行中所有old字符都替换为new字符 

:1,$s/old/new/g:将文中所有old字符都替换为new字符 1,表示开始,$表示文件结

 

语法为 :[addr]s/源字符串/目的字符串/[option]

全局替换命令为::%s/源字符串/目的字符串/g

[addr] 表示检索范围,省略时表示当前行。

如:“1,20” :表示从第1行到20行;

“%” :表示整个文件,同“1,$”;

“. ,$” :从当前行到文件尾;


s : 表示替换操作


[option] : 表示操作类型

如:g 表示全局替换; 

c 表示进行确认

p 表示替代结果逐行显示(Ctrl + L恢复屏幕);

省略option时仅对每行第一个匹配串进行替换;

 

如果在源字符串和目的字符串中出现特殊字符,需要用”\”转义

 

 

 


vi/vim 中可以使用 :s 命令来替换字符串。

:s/vivian/sky/ 替换当前行第一个 vivian 为 sky

:s/vivian/sky/g 替换当前行所有 vivian 为 sky

:n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky

:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky

n 为数字,若 n 为 .,表示从当前行开始到最后一行

:%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky

:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky

可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符

:s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/

:%s+/oradata/apras/+/user01/apras1+ (使用+ 来 替换 / ): /oradata/apras/替换成/user01/apras1/

1.:s/vivian/sky/ 替换当前行第一个 vivian 为 sky

:s/vivian/sky/g 替换当前行所有 vivian 为 sky

2. :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky

:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky

(n 为数字,若 n 为 .,表示从当前行开始到最后一行)

3. :%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky

:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky

4. 可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符

:s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/

5. 删除文本中的^M

问题描述:对于换行,window下用回车换行(0A0D)来表示,linux下是回车(0A)来表示。这样,将window上的文件拷到unix上用时,总会有个^M.请写个用在unix下的过滤windows文件的换行符(0D)的shell或c程序。

。 使用命令:cat filename1 | tr -d “^V^M” > newfile;

。 使用命令:sed -e “s/^V^M//” filename > outputfilename.需要注意的是在1、2两种方法中,^V和^M指的是Ctrl+V和Ctrl+M.你必须要手工进行输入,而不是粘贴。

。 在vi中处理:首先使用vi打开文件,然后按ESC键,接着输入命令:%s/^V^M//.

。 :%s/^M$//g

如果上述方法无用,则正确的解决办法是:

。 tr -d "\r" < src >dest

。 tr -d "\015" dest

。 strings A>B

6. 其它

利用 :s 命令可以实现字符串的替换。具体的用法包括:

:s/str1/str2/ 用字符串 str2 替换行中首次出现的字符串 str1

:s/str1/str2/g 用字符串 str2 替换行中所有出现的字符串 str1

:。,$ s/str1/str2/g 用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1

:1,$ s/str1/str2/g 用字符串 str2 替换正文中所有出现的字符串 str1

:g/str1/s//str2/g 功能同上

从上述替换命令可以看到:g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。

 

 

 

 

 

 

 

下面是一些例子:#将That or this 换成 This or that
:%s/\(That\) or \(this\)/\u\2 or \l\1/
—- 
#将句尾的child换成children
:%s/child\([ ,.;!:?]\)/children\1/g
—-
#将mgi/r/abox换成mgi/r/asquare
:g/mg\([ira]\)box/s//mg//my\1square/g    <=>  :g/mg[ira]box/s/box/square/g
—-
#将多个空格换成一个空格
:%s/  */ /g
—-
#使用空格替换句号或者冒号后面的一个或者多个空格
:%s/\([:.]\)  */\1 /g
—-
#删除所有空行
:g/^$/d
—-
#删除所有的空白行和空行
:g/^[  ][  ]*$/d
—-
#在每行的开始插入两个空白
:%s/^/>  /
—-
#在接下来的6行末尾加入.
:.,5/$/./
—-
#颠倒文件的行序
:g/.*/m0O  <=> :g/^/m0O
—-
#寻找不是数字的开始行,并将其移到文件尾部
:g!/^[0-9]/m$ <=> g/^[^0-9]/m$
—-
#将文件的第12到17行内容复制10词放到当前文件的尾部
:1,10g/^/12,17t$
~~~~重复次数的作用
—-
#将chapter开始行下面的第二行的内容写道begin文件中
:g/^chapter/.+2w>>begin
—-
:/^part2/,/^part3/g/^chapter/.+2w>>begin
—-
:/^part2/,/^part3/g/^chapter/.+2w>>begin|+t$

机器人成经济边际驱动力?先把坐标系标定和安全I/O做实 从宏观视角看,机器人正成为经济体系中值得关注的边际驱动力,但这一判断真正落地,依赖的是车间与仓库里一台台设备能否稳定完成可重复任务。观察一线开发者的高频搜索会发现,大量问题并非卡在算法原理,而是卡在工业机器人最基础的工程环节:工具坐标系标定不准、自动与手动速度倍率理解模糊、安全I/O回路的信号时序异常,以及ROS导航在仿真环境中的行为偏差。无论操作Aubo、ABB还是发那科机械臂,坐标系对齐、安全信号确认、仿真与实机往返验证都是绕不开的地基。掌握这些基础能力,才能把视觉、运动控制与业务逻辑串联成稳定链路。对 阅读详情

相关推荐

Linux中使用vi进行字符替换

在Linux系统中,vi是一款常用的文本编辑器,它具有强大的字符替换功能。在本文中,我们将学习如何使用vi编辑器进行字符替换,并提供相应的源代码示例。在命令模式下,我们可以执行各种编辑操作,包括字符替换。进入命令模式:打开文件后,你将进入vi的命令模式。在命令模式下,你可以执行各种编辑操作。这将替换所有匹配"old"的字符为"new"。执行字符替换:在替换模式下,输入你想要替换的字符,并按下。光标所在的字符将被替换为你输入的字符。键,将光标定位到要替换的字符上。进入替换模式:在命令模式下,按下。

TechRoar的博客 1687

(小记)vi编辑批量替换的方法

%s/旧文本/新文本/gc ###交互模式(y-yes,n-no,a-all,q_quit,l-last):s/旧文本/新文本/gc ###交互模式(y-yes,n-no,a-all,q_quit,l-last):%s/旧文本/新文本/g 三个“/”成组出现是分隔符,分割替换前和替换后的字符,sed -i "s/北京/上海/g" xxxx.txt。sed -i "s/旧内容/新内容/g" 文件名。g -----三个@号成组出现代表分割符号。:%s/旧文本/新文本/g。:s/旧文本/新文本/g。

zhj330491369的博客 3569

Coze平台智能体开发实战:打造测试工程师的AI助手

智能体是具备特定身份和能力的AI实体,由大语言模型(LLM)驱动,并通过插件、知识库和工作流扩展其能力。明确的角色定位:可以设定特定身份和专业领域扩展能力:通过插件连接外部工具和服务记忆能力:通过知识库存储和检索专属信息流程化处理:通过工作流执行复杂多步任务通过Coze平台创建测试工程师智能体,可以显著提升测试效率和质量。明确的角色定位:聚焦测试工程师的实际需求丰富的知识库:提供准确的领域知识支持合适的工具集成:通过插件连接现有工具链持续迭代优化:根据反馈不断改进智能体行为自动化测试生成。

hogwarts_beibei的博客 1005

vi全部替换命令

:%s/old/new/g %表示全部域,不加%表示只替换光标那一行的

gRpc的博客 1万+

UG476 GT Transceivers文档翻译和自身理解

对UG476 Xilinx官方文档进行翻译的基础上加上自己的理解

weixin_45143788的博客 4596

非线性动力学_用MatCont分析非线性动力学方程组(一)

写在前面:笔者打算写两到三篇系列文章介绍MatCont,此为第一篇《用MatCont分析非线性动力学方程组(一)》。MatCont是一个基于Matlab而开发的免费工具包,专门用来做非线性动力学模型分叉、向量场、周期性等分析,符号(连续性)运算和数值(离散性)运算均适用。该工具的开发及研究项目由比利时Ghent大学的Willy Govaerts教授、荷兰Utrecht大学的Yuri Kuznets...

weixin_39700215的博客 2766

vi中替换命令

1. 基本的替换 :s/vivian/sky/ 替换当前行第一个 vivian 为 sky :s/vivian/sky/g 替换当前行所有 vivian 为 sky :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky :n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一...

weixin_34162401的博客 2628

别再手动写用例了!用AI Agent自动生成测试用例的保姆级实战(附Python代码)

本文详细介绍了如何利用AI Agent技术自动生成测试用例,大幅提升测试工程师的工作效率。通过Python代码实战演示,从环境搭建到核心Agent构建(需求解析、场景挖掘、用例编排),再到与企业工具链(TestRail、Jira)的深度集成,帮助团队实现测试用例的智能化生成与管理。

weixin_30897233的博客 645

linux:vi 替换命令,linux vi 替换命令

linux vi 替换命令发布时间:2010-10-22 16:34:53 作者:佚名 我要评论久了没用vi 命令都忘了,到网上找了些,记录下,以下内容出自网络,来源已经不详.vi/vim 中可以使用 :s 命令来替换字符串。以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询。:s/vivian/sky/ 替换当前...

weixin_39631301的博客 678

腾讯滑块验证码防水墙 tdc.js 补环境实录

腾讯滑块验证码破解研究摘要 本文记录了破解腾讯防水墙滑块验证码(tdc.js)的全过程。研究重点包括: 流程分析:通过抓包分析验证码完整链路,识别出关键参数collect和eks需从tdc.js虚拟机获取 环境模拟:采用渐进式补环境方法,针对字节码虚拟机特性构建完整的window对象,包括navigator、screen、canvas等API的精确模拟 核心破解:成功调用TDC.getData()和TDC.getInfo()获取关键参数,解决POW计算和滑块缺口识别问题 优化调整:针对errorCode 5

码王吴彦祖的博客 225

PX4从放弃到精通(二十八):垂起过渡控制

固件版本:1.14.0可加名片交流学习。

超维空间科技的博客 2873

vi的替换命令

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

joanna_chen的专栏 937

【AI智能体】Claude Code +Superpowers 项目实战操作详解

Claude Code +Superpowers 项目实战操作详解

congge 4046

vi 命令详解 关于vi替换命令的使用说明

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

1776

保研考研机试攻略(满分篇):第二章——满分之路上(1)

保研考研机试攻略(满分篇):第二章——满分之路上(1)2.1计算机和基础+2.2进阶背包问题+2.3毛毛虫算法

qq_63349644的博客 1194

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

linux %s替换命令,linux vi 替换命令

linux vi 替换命令发布时间:2010-10-22 16:34:53 作者:佚名 我要评论久了没用vi 命令都忘了,到网上找了些,记录下,以下内容出自网络,来源已经不详.vi/vim 中可以使用 :s 命令来替换字符串。以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询。:s/vivian/sky/ 替换当前...

weixin_36127579的博客 5989

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Vi的替换命令

 :ranges/pat1/pat2/g 其中 : 这是Vi的命令执行界面。 range 是命令执行范围的指定,可以使用百分号(%)表示所有行,使用点(.)表示当前行,使用美元符号($)表示最后一行。你还可以使用行号,例如10,20表示第10到20行,.,$表示当前行到最后一行,.+2,$-5表示当前行后两行直到全文的倒数第五行,等等。

不用此栏 1654

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

vi 从第几行到第几行 替换_vi命令加行号查找替换等命令

一、加行号 : set nu二、vi查找: 当你用vi打开一个文件后,因为文件太长,如何才能找到你所要查找的关键字呢?在vi里可没有菜单-〉查找,不过没关系,你在命令模式下敲斜杆(/)这时在状态栏(也就是屏幕左下脚)就出现了 “/”然后输入你要查找的关键字敲回车就可以了。如果你要继续查找此关键字,敲字符n就可以继续查找了。值得注意的是“/”是向下查找,而“?”是向上查找,...

weixin_39807859的博客 1493

vi中常用的替换命令

本文关键词:linux命令 Linux linux vi命令   vi/vim 中可以使用 :s 命令来替换字符串。以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询。   :s/vivian/sky/ 替换当前行第一个 vivian 为 sky   :s/vivian/sky/g 替换当前行所有 vivian 为

aspireone的专栏 737

VI 命令的替换

VI 替换 1. 基本的替换 :s/vivian/sky/ 替换当前行第一个 vivian 为 sky :s/vivian/sky/g 替换当前行所有 vivian 为 sky :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky :n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 ...

Be a man 338

linux系统vi替换命令,Linux系统vi替换命令的使用

Linux系统vi替换命令的使用s命令:替换字符串-------------------------------------------------------:s/happy/glad/ 或者:s/happy/glad替换当前行第一个happy为gladI am VBirdI am very happy to write this class for you!If you have any qu...

weixin_39596975的博客 169

【Linux基础】VI替换命令详解

1.常用命令 :s 命令替换字符串(当前行) :s/p1/p2/ 替换当前行第一个p1为p2 :s/p1/p2/g 替换当前行所有的p1为p2 :n1,n2s 命令替换字符串(指定行) :n1,n2s/p1/p2/g 将第n1至n2行中所有p1均用p2替代。其中n1和n2为行号,可以为.代表当前行,可以为$代表最后一行 :.,$s/p1/p2/g 用字符串p2替...

weixin_30836759的博客 1441

Linux:VI 替换命令

vi/vim 中可以使用 :s 命令来替换字符串。以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询。:s/vivian/sky/ 替换当前行第一个 vivian 为 sky:s/vivian/sky/g 替换当前行所有 vivian 为 sky:n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行

zmhmwf的专栏 1437

linux:vi替换命令

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

angren9282的博客 308

vi替换命令用法详解

vi替换命令用法详解 : ranges /pat1/pat2/g其中: 这是Vi的命令执行界面。range 是命令执行范围的指定: 百分号(%)表示所有行点(.)表示当前行美元($)表示最末行例如:10,20表示第10到20行,.,$表示当前行到最后一行,.+2,$-5表示当前行后两行直到全文的倒数第五行s 表示其后是一个替换命令。pat1 这是要查找的一个正则表...

dolphin_ygj 424

linux:vi 替换命令

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

dssxk的专栏 771
上一篇: grep命令使用的详细介绍
下一篇: sigint sigterm 的区别
bamboolsu
博客等级 码龄22年 200粉丝 394原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值