[ VIM ] vim高级进阶(替换/正则)!

来源:互联网 发布:excel导入数据 编辑:程序博客网 时间:2024/05/20 18:45

曾经经一朋友介绍vim,自此开始了wim之路。

当然这个过程也是想当的漫长,需要你自己去不断的摸索。

有意思的是,它总会给你一些想不到的惊喜。

来看一下吧:

随便找段代码看看:

/* * @title Information.java  * @description  * @create 2013-11-29 上午08:41:13 By yangzhi * @package com.url */package com.url;/** *  * @description *  * @classname Information  * @author yangzhi<helloyangzhi@foxmail.> * @date 2013-11-29 上午08:41:13  */public class Information {/** * 显示信息 *   * @description *  * @title  show * @return void */public void show(){}/** *  * 增加信息  * @description *  * @title  add * @param  {String} str * @return void */public void add(String str){}}

当然在eclipse中可以用viplugin插件模拟出vim 的效果, 同时也是支持替换操作的,包括 正则.

:s/public/private/ 或者s/public/private/s:s/public/private/g:%s/public/private/ 或者 %s/public/private/s:%s/public/private/g:%s/^public$/private/ 或者%s/^public$/private/s:%s/^public$/private/g

s,取start的首字母,第一个s代表替换当前选中行,结尾的s表示替代每一行的第一个满足条件的。g取global的首字母,表示替换该行中的所有符合条件的字符。

而当s的前面加了%s就表示替换所有行。

:26,50s/public/private/s:26,$s/poublic/private/s:^,$s/public/private/g

可以指定需要替换的行数,也可以采用正则的方式制定行数。


正则表达式也是很久没有去学习,最近前面一段时间在使用vim ,包括项目中用到,也是看了些资料发现其实还是蛮有用的。

写两简单点的吧:

/^\w+([-\.]\w+)*@\w+([-\.]\w+)*\.\w{3,6}$//^[0-9a-zA-Z]+([-\.][0-9a-zA-Z]+)*@[0-9a-zA-Z]+([-\.][0-9A-Za-z]+)*\.[0-9a-zA-Z]{3,6}$/

验证邮箱!

\w == [0-9a-zA-z]

[-\.]表示 - 或者. 这里.需要转义。

一个[]里面只匹配一个字符。

需要匹配多个可以在后面带+ 或者 * 或者?

+  至少存在一个

*  0 个或者多个

? 0 个或者一个

() 表示分组符

{} 表示限定前面字符的个数


呵呵,近日理解,防止忘记,故作次文!