VIM正则表达式操作实例
1,删除只有空白的行
:%s/^\s*$//g
2,去掉行尾的空格
:%s/\s\+$//g
3,删除括号中的空格
:%s/(\s\+\(\w\+\)\s\+)/(\1)/g
4,把单词input换为output
:%s/\<input\>/output/g
5,把input替换为行号-10
:%s/\<input\>/\=(line(".")-10)/g
6,将指定字符后面进行换行
:%s#\\n#\\n\r#g
7,去掉所有的空白行:
:%s/\(\s*\n\)\+/\r/
8,去掉所有的“//”注释:
:%s!\s*//.*!!
9,去掉所有的“/* */”注释:
:%s!\s*/\*\_.\{-}\*/\s*!!g
10, 将 data1 data2 修改为 data2 data1
:\s/\(\w\+\)\s\+\(\w\+\)/\2\t\1
11, 将 Doe, John 修改为 John Doe
:%s/\(\w\+\), \(\w\+\)/\2 \1/
12, 将各行的 id 字符串替换为行号
:%s/\<id\>/\=line(".")
13, 将每行开头的单词替换为(行号-10).单词的格式,如第11行的word替换成1.word
:%s/\(^\<\w\+\>\)/\=(line(".")-10) .".". submatch(1)
14, 排序
:/OB/+1,$!sort
1.删除括号里面的空格
:%s/\v\(\w\+\)\s\+)/\1)/g
2.去掉行尾空格
:%s/\v\s\+$//g
3.删除空白行
:%s/\v^\s*$//g
4.把单词input换为output
:%s/\v\<input\>/output/g
5.把单词input替换为行号-2
:%s/\v\<input\>/\\=(line(".")-2)/g
6.把_32_换成_0_,0为行号
:%s/\(_\)0\(_\)/submatch(1).\=(line(".")-32).submatch(2)/g
浙公网安备 33010602011771号