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

曾经经一朋友介绍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 个或者一个

() 表示分组符

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


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

原文地址:https://www.cnblogs.com/yangzhi/p/3576525.html