Vim下使用正则表达式

默认的vim正则字符设置是magic,关于magic的详细说明可以在vim下输入以下命令查看

:help magic

magic状态下$ ^ . * \字符是有魔法(特殊含义)的,也就是说想匹配星号 * 的话需要用反斜杠来转义 即 \*匹配星号 而*则是一个量词.当然vim允许根据个人喜好使用特殊含义字符,只需要在正则表达式前面加上\v \V \m \M来说明跟在后面的使用哪种魔法属性就好了。下面贴几个vim里面比较常用的正则命令

删除所有只有空白的行

:g/^$/d

把多个空格替换为一个空格 *前面是2个空格, //中间是一个空格

:%s/  */ /g

查找俩个单引号括起来的小写字母如 'a'   'b'

/'[a-z]'

把所有单词中间的as替换为AS 如case变成cASe lass变成lASs 但是 as well as不变

:%s/\(\a\a*\)as\(\a\a*\)/\1AS\2/g

或者

 :%s/\(\a\+\)as\(\a\+\)/\1AS\2/g

把行末的所有空格和制表符删除

:%s/\s\+$//g

给所有单词后面紧跟的圆括号前加一个空格 如main(void)变成main (void)

:%s/\(\w\)(/\1 (/g

 把<>改成“”,比如#include  <hola.h>改成#include  "hola.h"

:s/<\([^>]*\)>/"\1"/

 

 

 

posted @ 2012-03-31 23:30  Leo Forest  阅读(510)  评论(0编辑  收藏  举报