Vim 操作-替换
substitute
:[range]s[ubstitute]/{pattern}/{string}/{flag}
- 替换的操作范围以行为基础;
%
-全局范围,m,n
-使用逗号隔开的 m 到 n 范围,.
表示当前操作行;- 特殊字符需要用转义符号
\
,如\s\/
;
1. Range 设定
-
:%s/.../g
,对当前文本的每一行操作 -
:m,ns/.../g
,对 m 行到 n 行执行操作; -
:m,$s/.../g
,对 m 行到最后一行执行操作; -
:0,ms/.../g
,对首行到 m 行执行操作; -
:.,$s/.../g
,对当前行到最后一行执行操作;
:%s/foo/bar/g # 在全局范围内(%)查找foo并将之替换为bar,所有出现都会被替换(g)
:s/foo/bar/g # 在当前行内查找foo并将之替换为bar,所有出现都会被替换(g)
:'<,'>s/foo/bar/g # 在选区内进行替换,Visual模式下选择区域后输入会自动补全'<,'>
:10,$s/demo/substring/g # 从第10行到最后一行进行替换
:10,$s/demo//g # 从第10行到最后一行进行替换,将demo替换为空
:.,$s/demo//g # 从当前行到最后一行进行替换,将demo替换为空
:0,.s/demo//g # 从首行到当前行进行替换,将demo替换为空
2.删除空格
基本格式 :s/.../g
^\s*$\n
:\s*
- 匹配0个或多个空白字符,\n
: 匹配换行符;//
表示替换为空;
:%s/^\s*$\n//g # 含义同上
:.,$s/^\s*$\n//g
:'<,'>s/^\s*$\n//g
3.替换确认
c
: confirm,与 g
进行配合设置
:10,$s/demo/substring/gc # 从第10行到最后一行进行替换
标签:...,10,demo,Vim,行到,操作,foo,替换
From: https://www.cnblogs.com/fengxijlu/p/17922843.html