-
删除包含关键字(help)的行
:g/help/d
:g!/help/d !表示不包含
-
交换奇偶行
:g/^/+1m-1
-------------------
g/^/ 匹配所有行
+1 定位到下一行
m-1 移到上面去
-
非贪婪匹配
默认贪婪匹配到行末:/<a.*>
使用非贪婪匹配本标签:/<a.\{-}>
-
多行空行替换为一个空行
%s/\(^$\n\)\+/\r/g
g/^\s*$/,/\S/-j|s/.*// 参考:http://www.commandlinefu.com/commands/view/3052/compress-blank-lines-in-vim
[相关参考:使用vim的^$\n不能替换空行(全角字符问题)]
-
刪除沒有內容的空行
g/^$/d
-
刪除包含有空格組成的空行
g/^\s*$/d
-
除以空格或tab開頭到結尾的空行
g/^[ |\t]*$/d
-
正则实例
:%s/_\([a-z]\)_\(.*\)/_\U\1\l_\2/g
:%s/\(Wa_.*\)/\1,,,/g
:%s/\(Ar_.*\)/,\1,,/g
:%s/\(So_.*\)/,,\1,/g
:%s/\(Cl_.*\)/,,,\1/g
-
单行id补齐其它列
:%s/\(\d\+\),$/\1,,,,/g
-
删除空数据的行
:g/\d\+,,,,/d
-
删除单行只有一个逗号的行
:g/^\d\+,[a-zA-Z0-9_\- ]*$/d
-
删除空行
:g/^$/d
-
大小写切换(v选中的文字可以用u切换到小写,U切换到大写,~在大小写之间切换)
VIm
HEllo
WOrld
NIce
GOod
ME
TOo
:%s/^\(\w\{2\}\)\(.*\)/\U\1\L\2/g
-
删除每行第二个空格之后的内容
:s/[^ ]*\ [^ ]*\ \zs.*$//