vi或vim中的定位命令、全局命令及替换命令

本文介绍了在vi或vim编辑器中常用的定位、全局命令和替换命令。定位命令如-n用于向前移动;全局命令结合g/字符串/和不同操作如p、d实现对行的处理;替换命令以s/源字符串/目的字符串/[option]格式进行,option如g表示全局替换,c则要求确认。文章还列举了多种具体应用示例,帮助用户更高效地操作vim。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、定位命令

文本编辑时要经常选中一行或多行,vi提供了在末行模式下的定位命令,

常用如下: 

命令               操作说明

n1,n2             表示n1到n2行
.                     表示当前光标所在行
$                    表示指定文件的最后一行
%                   表示整个文件
+n                  从当前行开始向后n行

-n                   从当前行开始向前n行


2、全局命令

 格式: [addr]  g/字符串/命令

 此命令格式表示让系统在范围addr中搜寻能够匹配“字符串”的行,

 然后使用后面的命令对行进行“命令”操作。

 常用命令一般有,p(显示)、g(替换)、d(删除)的等。

 其中:[addr]表示定位命令和检索的范围,省略时表示使用当前行。

 例如:“1,20”  ---从第1行到第20行;

            “%”     ---表示整个文件;

            “.,$”    ---表示从当前行到文件尾。

3、替换命令

  格式:  [addr] s/源字符串/目的字符串/[option]

(1)上述格式中“s”表示其后要进行字符串的替换操作;

(2)对于option选项,它表示对字符串操作的类型,省略option

表示仅对每行第一个匹配串进行替换;

option:

g ---对全局的字符串进行替换;

c ---对全局要替换的字符串进行确认;

p ---表示将替换的结果逐行显示(使用Ctrl + L可恢复)


常见的全局命令和全局替换命令如下表示:

g/字符串/p 显示所有带有“字符串”的行

g!/字符串/p 显示所有不带有“字符串”的行

n1,n2 g/字符串/p 显示从n1到n2的含有“字符串”的行

g/字符串/d 删除有“字符串”的行

g!/字符串/d 删除有“字符串”的行

g/字符串1/s//字符串2/ 用“字符串2”全文替换“字符串1”,但每行只替换第一个匹配的字符串

g/字符串1/s//字符串2/g 用“字符串2”全文替换“字符串1”(此命令可用下面蓝色字体命令取代)

s/字符串1/字符串2/ 用“字符串2”替换当前行第一个“字符串1

s/字符串1/字符串2/g 用“字符串2”替换当前行所有“字符串1

%s/字符串1/字符串2 用“字符串2”替换全文替换“字符串1”,但只替换第一个匹配的

%s/字符串1/字符串2/g 用“字符串2”全文替换“字符串1”

g/字符串1/s/字符串2/字符串3/g 表示在所有包含“字符串1”的行中,把“字符串2”用“字符串3”来替换


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值