| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2748 人关注过本帖
标题:Vim 安装与正则表达式实例讲解 --Enjoy Editing
只看楼主 加入收藏
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
Java 中通常用这种风格定义数组。int []blueguy = {...}; (类型名+数组运算符+关键字)
假如,我现在想把它转换为 c 语言的风格。 可以这么写 正则表达式
:%s/\(int\|short\|byte\|boolean\|String\)\(\(\s*\[\s*\]\)\+\)\s*\(\h\w*\)/\1 \4\2/g



[ 本帖最后由 BlueGuy 于 2010-6-26 19:21 编辑 ]

我就是真命天子,顺我者生,逆我者死!
2010-06-26 19:13
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
Java的类是 没有函数声明的, 如果我想把所有的函数名提取出来放到 blueguy.h中
可以这样写正则表达式
g/\(\<void\>\|\<int\>\|\<short\>\|\<byte\>\|\<boolean\>\)\(\s*\[\s*\]\)*\s*\<\h\w*\>\s*(.*)/. w >> blueguy.h  

[ 本帖最后由 BlueGuy 于 2010-6-28 08:31 编辑 ]

我就是真命天子,顺我者生,逆我者死!
2010-06-27 11:59
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
唉,啪啪啪就过去了,真是爽

正则表达式这东西还是要自己会, 别人写给你的不一定好用。

[ 本帖最后由 BlueGuy 于 2010-6-27 18:01 编辑 ]

我就是真命天子,顺我者生,逆我者死!
2010-06-27 12:08
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
BlueGuy: 上面的很多操作并不需要s命令,用列块操作会更简单。比如说最后一步:

gg<C-V>GI#define <ESC>

试试看?

专心编程………
飞燕算法初级群:3996098
我的Blog
2010-06-28 11:10
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
回复 14楼 StarWing83
谢谢, 看来又要节省不少体力

我就是真命天子,顺我者生,逆我者死!
2010-06-28 11:35
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
回复 15楼 BlueGuy
呵呵,我想我干这事也不一定用s命令。
在vim可以用指令寄存器搞这个,可视化一点,比构造正则表达式快。然后用@指令重复。
除非是想长期做相同的工作,那我可能是用 shell 写脚本。
 
2010-06-28 14:15
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
回复 16楼 pangding
很久没看到你了, 挺想你的

我就是真命天子,顺我者生,逆我者死!
2010-06-28 17:50
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
呵呵,的确的有阵日子没来了~
2010-06-29 11:56
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
回复 14楼 StarWing83
是很方便, 不过 gvim 进入可视块模式, 得用另一个命令替换 <c-v>

我就是真命天子,顺我者生,逆我者死!
2010-07-03 12:17
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
回复 19楼 BlueGuy
?这样不好么?按多了就习惯了…………

不过通常这种情况是很少见的。很多时候你得编辑不连在一块儿的代码,这个时候我一般是用q录制宏,然后用n寻找代码,用@播放宏,非常快可以搞定。

专心编程………
飞燕算法初级群:3996098
我的Blog
2010-07-06 00:41
快速回复:Vim 安装与正则表达式实例讲解 --Enjoy Editing
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011888 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved