Vim字符串替换

公司测试项目,用到了字符串替换的知识,以前没有怎么用过,所以在这里我整理了一下:

一、基本内容替换,无特殊符号

  • :s/old/new/  替换当前行第一个 old 为 new   这时new后面的/不写的话不影响编辑
  • :s/old/new/g  替换当前行所有 old 为 new
  • :% s/old/new/    替换每一行的第一个 old 为 new   (最常用)
  • :% s/old/new/g   替换每一行中所有 old 为 new
  • :n,$ s/old/new/  替换第 n 行开始到最后一行中每一行的第一个 old 为 new  (最常用)
  • :n,$ s/vivian/sky/g  替换第 n 行开始到最后一行中所有 old 为 new 此处$和s之间有无空格都行,个人习惯➕空格 (n 为数字,若 n 为 .,表示从当前行开始到最后一行)
  • 删除包含某个字段的行: g/string/d  例子:删除含有字符串“content-length”的行::g/content-length/d

二、包含特殊字符替换

  • :s#old/#new/# 替换当前行第一个 old/ 为 new/
  • :1,$ s#/old/#/new/# 用字符串 new/ 替换正文中所有出现的字符串 old/

三、删除空格
  删除空白行 :g/^\s*$/d

  删除奇数行 :%normal jkdd
  留一个空格 :%s/\s\{2,5}//g

 

 

 四、自我测试

  • :1,$ s/new/old   =  :1,$ s/new/old/g   =  :% s/old/new/g  这三个改变字符串效果是一样的
posted on 2017-04-18 16:08  如尘如水  阅读(2384)  评论(1编辑  收藏  举报