有时候替换量不是很大时,就想着,直接打开 vim 替换下得了,就不想再去用 sed 了,其次,我用mac 多一点,mac 的 sed 和我们通用的 sed 不太一样,在你直接修改文本的时候
: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
可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符,如下例子
:s#vivian/#sky/#
替换当前行第一个 vivian/ 为 sky/
:%s/foo/bar/g
把全文的 foo 替换成 bar
选区,在Visual模式下选择区域后输入:,Vim即可自动补全为 :‘<,’>。
:'<,'>s/foo/bar/g
把 visual 选定区域的 foo 替换成 bar
参考文章:
[1] 很实用
[2] 有结合 visual 的用法