常用用法
%s/old/new/g
%s/old/new/gc
%s/\<old\>/new/gc
%所有行g所有匹配c替换前确认<>确认单词边界,需要使用转义符\
正则表达式
%s/\([^,]*\),\(.*\)/New\1/gc
()用于反向引用[^,]匹配除,之外*任意多次.任意字符\1反向引用,表示第一个()匹配的内容
多文件修改
args & argdo
需要替换当前目录下所有的.c文件中的Old为New:
:args *.c
:args **/*.c
:args */*.c
:argdo %s/Old/New/gc | update
*.c当前目录下的所有.c**/*.c递归扫描所有下级目录*/*.c只扫描下一级目录(即不扫描当前目录)update直接更新写入硬盘
使用宏
录制 宏命令
qa
:%s/\<Old\>/New/g
:wnext
q
使用 宏定义
100@a
Tips
删除多余空格
%s/\s\+$//
删除Windows文本文件中的 “^M” 标记
%s/\r//g