vi的强大自不必说了,使用vi编辑文件时可以使用命令快速的实现文本替换。下面介绍它的几种模式
替换当前行第一个OLD为NEW
:s/OLD/NEW
替换当前行所以OLD为NEW
:s/OLD/NEW
退换当前文件中的所有OLD为NEW
:%s/OLD/NEW/g
除了上述的几种替换模式,还可以指定两个行号,把他们之间所有的OLD替换称NEW,
语法为,第一个#号表示开始行,第二个#号表示截止行
:#,#s/OLD/NEW/g
替换第三行到第五行所有OLD为NEW
:3,5s/OLD/NEW/g
其中两个行号也可以只出现一个,省略的那个表示为光标所在的行,例如:
:,5s/OLD/NEW/g 把光标所在行到第5行所有OLD替换为NEW
:5,s/OLD/NEW/g 把第5行到光标所在行所有OLD替换为NEW
另外最后一行可以使用$表示,所以
:%s/OLD/NEW/g 等价于 :1,$s/OLD/NEW/g