微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐