vim 查找与替换
简单替换表达式
:[range]s/from/to/[flags]
range:搜索范围,如果没有指定范围,则作用于当前行。
:1,10s/from/to/ 表示在第1到第10行(包含第1,第10行)之间搜索替换;
:10s/from/to/ 表示只在第10行搜索替换;
:%s/from/to/ 表示在所有行中搜索替换;
1,$s/from/to/ 同上。
flags 有如下四个选项:
c confirm,每次替换前询问;
e error, 不显示错误;
g globle,不询问,整行替换。如果不加g选项,则只替换每行的第一个匹配到的字符串;
i ignore,忽略大小写。
这些选项可以合并使用,如cgi表示不区分大小写,整行替换,替换前询问。
Vim查找替换及正则表达式的使用 http://tanqisen.github.io/blog/2013/01/13/vim-search-replace-regex/
example1
:%s/foo/bar/g
:%s/foo/bar/g会在全局范围(%)查找foo并替换为bar,所有出现都会被替换(g)
example2 替换路径
由于路径里面有/需要转义
例如文本里面:
/data_1/everyday/0714/无标题文档1
/data_1/everyday/0714/无标题文档2
/data_1/everyday/0714/无标题文档3
现在需要把/data_1/everyday/0714替换成/data_2/everyday/0715
:%s/\/data_1\/everyday\/0714/\/data_2\/everyday\/0715/g
好记性不如烂键盘---点滴、积累、进步!