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
posted @ 2021-07-14 20:21  无左无右  阅读(134)  评论(0编辑  收藏  举报