vi/vim替换文本内容操作

vi/vim替换操作(实际修改文本内容)

vi普通模式,即刚vi进入文件中的状态

光标会落在某一行

此时输入 😒/被替换的/替换的/

输入冒号的时候 就在最下方出现输入冒号了\

1)当前行 只替换 第一个匹配的内容(abc替换成new1)

# 初始内容(光标落在第一行)和 输入替换操作命令
#  :s/***/***/
abc xyz abc xyz
abc
~
~
:s/abc/new1/
# 替换后结果
new1 xyz abc xyz
abc
~
~

2)当前行 替换所有匹配到的内容

# 替换命令 最后加上 g
#  :s/***/***/g
abc xyz abc xyz
abc
~
~
:s/abc/new1/g
#
new1 xyz new1 xyz
abc
~
~

3)匹配替换所有行的abc

方式一:匹配指定行 在s前面加上 1,$表示替换第一行到最后一行的匹配内容

#  :1,$s/***/***/g
abc xyz abc xyz
abc
abc
~
~
:1,$s/abc/new1/g
# 
new1 xyz new1 xyz
new1
new1
~
~
4 substitutions on 3 lines

替换2,3行的

#  :1,$s/***/***/g
abc xyz abc xyz
abc
abc
~
~
:2,3s/abc/new1/g
#
new1 xyz new1 xyz
new1
abc
~
~
3 substitutions on 2 lines

方式二:全文匹配,也可以用% 替换 1,$符号操作

#  :%s/***/***/g
abc xyz abc xyz
abc
abc
~
~
:%s/abc/new1/g
# 
new1 xyz new1 xyz
new1
new1
~
~
4 substitutions on 3 lines

4)间隔符是可以改变的

如果要替换的内容中出现特殊符号如 . 需要用到 斜杠\,这种情况下 斜杠/和\就比较混乱,容易混淆,这种情况下可以把间隔符/改成#

# 
url="https://www.baidu.com/index.php"
~
~
:%s#www\.com#www\.baidu\.com#g

5)给内容加引号的操作,使用正则匹配

aaa 2008-07-0aaa bbb
ccc 2008-0-aaa2 aaa
~
~
:%s#\([0-9]\{4\}-[0-9]\{2\}-[0-9|a-z]\{4\}\)#'\1'#g

参考文档[Vim命令_Linux Vim命令:替换文本内容 (biancheng.net)](http://c.biancheng.net/linux/Vim.html#:~:text=Vim命令_Linux Vim命令:替换文本内容 1 基础替换用法 在 Vi 的普通模式下,先输入冒号(:),进入命令行模式,这是 Vi,我们假设当前行的内容是: … 3 连间隔符都可以改变 如果你要匹配和替换“http%3A%2F%2Froclinux.cn%2Findex.php”这样一个 URL,你会发现这很麻烦,正确的写法会吓到你,来看一看: %3A%s%2Fhttp%3A%2F%2Froclinux.cn%2Findex.php%2Fhttps%3A%2F%2Fwww.baidu.com%2Findex.php%2Fg )

6)如果查询的内容需要忽略大小写,则查询内容后加**\c**

aABbCc
~
~
:%s#aabbcc\c#xXYyZz#g

7)删除空行、删除字符串、删除空格

aaa
~
~
:1s/\n//g
aaa
~
~
:s/aaa//g
aaa bbb
~
~
:s/ //g

vi/vim查找操作

普通模式下,输入

/带查找内容

aaabbb
~
~
/aaa
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值