常用用法
%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