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 这三个改变字符串效果是一样的
当你的才华撑不起你的野心时,你需要静下心来学习。