something: 重构、正则、vim -- clwu】的更多相关文章

项目需要做一个db table 操作的小工具. 从phpMyAdmin上拷贝了一些代码过来修改,但我有没有足够的时间把所有拷贝过来的代码都重构修改和测试完,于是希望后面接手的同事在需要修改这些代码时能感知得到, 就希望在每个函数上添加一个throw 抛出一个异常. 方法:用到vim的搜索.替换. 搜索用到如下正则,定位到要修改的函数. /\(^\s*\(\(public\|private\|protected\).*\)\?\<function \([^{]*\n*\)*{\s*\n\)\(\(…
from:http://blog.chinaunix.net/uid-11278770-id-148579.html Chinaunix首页 | 论坛 | 认证专区 | 博客 登录 | 注册       博文      博主      todaygoodtodaygood.blog.chinaunix.net Linux,Virtualization ChinaUnix博客技术文章推荐标准和规范 有奖征集:文集--博客系列博文管理 CU博客频道6月技术图书有奖试读活动 首页 | 博文目录 | 关…
Vim的用户手册主要包含以下三个部分:     Getting Started;     Editing Effectively;     Tuning Vim;     分别代表基本编辑技巧,更优化的编辑技巧和优化Vim编辑器本身.     先当然从Getting Started开始学习.     About the manuals.     这一节主要是对用户手册的基本介绍.其中说了,可以"从头到尾像读一本书那样来读用户手册".这也是我准备要做的事. 最有用的是两点,一是用&quo…
http://www.cppblog.com/kefeng/archive/2010/10/20/130574.html Vim中的正则表达式功能很强大,如果能自由运用,则可以完成很多难以想象的操作. 如果你比较熟悉Perl的正规表达式,可以直接参照与Perl正则表达式的区别一节. 一.使用正则表达式的命令 使用正则表达式的命令最常见的就是 / (搜索)命令.其格式如下: /正则表达式 另一个很有用的命令就是 :s(替换)命令,将第一个//之间的正则表达式替换成第二个//之间的字符串. :s/正…
看到一不错的代码片断,但奈何无论怎么拷贝,粘贴到VS里都是带行号的,300多行的代码手工删除行号与前面的空格可得耗不少时间...这时想起了无所不能的VIM,以及它的正则,它的替换功能.解决步骤: 1.将代码贴到VIM 2.替换掉每行首的所有空格及数字 VIM底行模式下 :1,$s/^\s*[0-9]*\s*//g 解释:1为起始行号,315为终止行号,^在正则中代表行首,\s*代表若干个空格,可以没有,[0-9]*代表若干个数字,可以没有,即将^\s*[0-9]*\s*替换为NOTHING. 或…
最近使用vim的正则替换功能,非常强大 一个文件: ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, 现在需要删除逗号前面的内容,那么在vim敲入命令: :%s/.*,//g 得到的结果是: 如果想要替换第一个逗号前面的内容该如何哪? :%s/.\{-},// 结果是: , , , , , , , , , ,…
#set magic这句的作用在于将vim的正则打开. 这样就可以搜索了. 至于正则的相关的内容.在此抄一份.以免于下次自己还要去百度. 符号 匹配 . (dot) 任意单一字符 \d 任意一位数字 [A-Z] A 到 Z中任意一个字符(大写) [a-z] a 到 z中任意一个字符(小写) [A-Za-z] a 到 z中任意一个字符(不区分大小写) + 匹配一个或更多 (例如, \d+ 匹配一个或 多个数字字符) [^/]+ 一个或多个不为‘/’的字符 * 零个或一个之前的表达式(例如:\d?…
转载自:http://www.xuebuyuan.com/806332.html:个人进行了一些修正和添加. 下面我们对 VIM 正则表达式进行介绍并会显示指出其与 Perl 正则的不同之处. 字符集 . 匹配任意一个字符 \w 匹配单词字母,等同于[0-9A-Za-z_]. \W 匹配单词字母之外的任意字符,等同于[^0-9A-Za-z_]. \t 匹配字符. \a 所有的字母字符. 等同于[a-zA-Z] \e \t \r \b \d 数字 [0-9] \D 非数字 [^0-9] \x 十六…
VIM 用正则表达式 批量替换文本,多行删除,复制,移动 在VIM中 用正则表达式 批量替换文本,多行删除,复制,移动 :n1,n2 m n3     移动n1-n2行(包括n1,n2)到n3行之下: :n1,n2 co n3    复制n1-n2行(包括n1,n2)到n3行之下: :n1,n2 d        删除n1-n2行(包括n1,n2)行: vi替换使用规则: :g/s1/s/s2/s3/g 第一个g表示对每一个包括s1的行都进行替换,第二个g表示对每一行包括s1的行所有的s2都用s…
比如多匹配使用 .* 效果自然是贪婪模式,JS 的非贪婪很简单,是 .*? 即可,而 vim 不同,语法是 .\{-},注意 \ 转义.…