vi/vim 中可以使用 :s 命令来替换字符串以前只会使用一种格式来全文替换,今天发现该命令有很多种写法,记录几种在此,方便以后查询。
:s/vivian/sky/
替换当前行第一个 vivian 为 sky
:s/vivian/sky/g
替换当前行所有 vivian 为 sky
:n,s/vivian/sky/
替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky
:n,s/vivian/sky/g
替换第 n 行开始到最后一行中每一行所有 vivian 为 sky
n 为数字,若 n 为 .,表示从当前行开始到最后一行
:%s/vivian/sky/
(等同于:g/vivian/s//sky/)替换每一行的第一个 vivian 为 sky
:%s/vivian/sky/g
(等同于:g/vivian/s//sky/g)替换每一行中所有 vivian 为 sky
可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符
:s#vivian/#sky/#
替换当前行第一个 vivian/ 为 sky/
:%s+/oradata/apras/+/user01/apras1+
(使用+ 来 替换 /):/oradata/apras/替换成/user01/apras1/
删除文本中的^M
:
^V和^M
指的是Ctrl+V和Ctrl+M。你必须要手工进行输入,而不是粘贴。
在vi中处理:首先使用vi打开文件,然后按ESC键,接着输入命令:
:%s/^M//g