vi/vim 中可以使用 :s 命令来替换字符串。
以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询。
:s/taobao/phpernote/ 替换当前行第一个 taobao 为 phpernote
:s/taobao/phpernote/g 替换当前行所有 taobao 为 phpernote
:n,$s/taobao/phpernote/ 替换第 n 行开始到最后一行中每一行的第一个 taobao 为 phpernote
:n,$s/taobao/phpernote/g 替换第 n 行开始到最后一行中每一行所有 taobao 为 phpernote
n 为数字,若 n 为 .,表示从当前行开始到最后一行
:%s/taobao/phpernote/(等同于 :g/taobao/s//phpernote/) 替换每一行的第一个 taobao 为 phpernote
:%s/taobao/phpernote/g(等同于 :g/taobao/s//phpernote/g) 替换每一行中所有 taobao 为 phpernote,也就是全部替换
可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符
:s#taobao/#phpernote/# 替换当前行第一个 taobao/ 为 phpernote/
:%s+/oradata/apras/+/user01/apras1+ (使用+ 来 替换 / ): /oradata/apras/替换成/user01/apras1/