vim替换操作
vim命令行模式支持各种替换操作,列一些常用的模式:
:s/str1/str2
搜索光标所在行第一个str1字符串,并替换为str2
:s/str1/str2/g
搜索光标所在行所有的str1字符串,全部替换为str2
:s/str1/str2/ig
搜索光标所在行所有的str1串(忽略大小写),并全部替换为str2
:%s/str1/str2/cg
搜索全文中所有的str1字符串,全部替换为str2,每次替换时会询问
:1,10s/str1/str2/g
查询第一行到第十行中所有的str1,并替换为str2
:0,.s/str1/str2/g
查询文首到当前光标位置之间所有的str1为str2
:.,$s/str1/g
删除光标所在当前行到文尾的所有str1字符串(即将所有的str1替换为空)
:5s/\d\+/123/g
将第五行中的所有数字串替换为123
其中:
:s/str1/str2/gci 是固定格式
g:表示查询所有
c:表示替换前询问
i:表示忽略大小写
%:是通配符,匹配所有行
$:表示定位到最后一行
.:表示定位到当前光标位置所在的行
0:表示第一行,既文首
str1支持使用正则表达式(示例中\d\+)
str2省略表示删除搜索到的str1字符串,:s/str1/和s/str1//结果相同