
完整格式
:[range]substitute/from/to/[flags]
简化格式
:[range]s/from/to/[flags]
from是被搜索的字符串,to是用来替换的字符串
一、[range]
表示搜索行
默认的搜索只作用于当前行。
1 %:命令作用于全部行。
2.(圆点):命令作用于当前行。
3 n:命令作用于第n行,n是一个整数。
4 n1,n2:命令作用于n1行到n2行。注意负数表示倒数。
二、[flags]
1 g:表示在搜索行中替换每一个匹配,没有g则只在每行中替换第一个匹配。g是global的第一个字母。
2 c:每次替换前要询问,否则不询问。c是confirm的第一个字母。
3 p:打印最后一个被修改的行。
三、询问的回答
当使用标志c时,替换前要询问,可以作下面几种回答:
y:执行替换
n:跳过此次替换
a:执行此次替换和之后的所有替換
q或者ESC:停止替换
l:执行此次替换并退出替换。是last的缩写。
Ctrl-E, Ctrl-Y:分别是向下滚动和向上滚动,能用于查看替换处的上下文(注:我的centos系统上未能实现)
四、例
1 :1,10s/from/to/ 表示在第1到第10行(包含第1,第10行)之间搜索替换
2 :10s/from/to/ 表示只在第10行搜索替换
3 :%s/from/to/ 表示在所有行中搜索替换
4 :1,$s/from/to/ 同上
网友评论