分享

VS2010 自动化整理代码(1)

 昵称9357757 2012-03-30

VS2010 自动化整理代码(1)--- VS正则表达替换 PK Vim

自从开始在VS2010的IDE中开始用正则表达式修改

 

最近为了给Fortran找个好一点的编辑器,又开始使用Vim了。Vim是久负盛名的编辑器之神,可我们习惯了Visual  Studio的智能提示等方便的操作,就总在琢磨要是VS

 

1.  VS正则表达替换 PK  Vim

这是善用佳软中的一篇教程:《普通人的编辑利器——Vim》挺简单易懂的

http://blog.sina.com.cn/s/blog_46dac66f010005kw.html###

 

挺老的文章,例子是整理“八荣八耻”的文本,恩,06年的。

测试的文本在这 http://www.pconline.com.cn/pcedu/soft/gj/photo/0609/pic/test.txt

1
坚 持以热爱祖国为荣、以危害祖国为耻,以服务人民为荣、以背离人民为耻,以崇尚科学为荣、以愚昧无知为耻,以辛勤劳动为荣、以好逸恶劳为耻,以团结互助为 荣、以损人利己为耻,以诚实守信为荣、以见利忘义为耻,以遵纪守法为荣、以违法乱纪为耻,以艰苦奋斗为荣、以骄奢淫逸为耻。

 

Vim的整理方式在善用佳软中有详细的介绍,Ok,看看VS2010下怎么快速整理。

image

一排字没有分行,先给每句话分行。

Ctrl+F 到查找,快速替换--勾选:使用正则表达式

1
2
3
为..
替换为:
\0\n

image

1
  

好了,看到效果了,瞬间全部替换成竖排了

为..   表示“为“后面跟着2个单个字符

\0  表示被替换的全部内容,也就是”为..”,\n 是换行不用说了。

其实单击右面的小箭头常用的替换格式就会列出来,最下面还有微软完整的替换帮助

http://127.0.0.1:47873/help/1-7624/ms.help?product=VS&productVersion=100&method=f1&query=VS.RegularExpressionBuilder&locale=zh-CN

image

然后替换标点什么的就不用说了。

 

列操作可以 Alt+鼠标左键 ,也非常方便。

按下Ctrl+R,Ctrl+W  显示空格和换行(再次按下关闭显示),我们添加注释符号再向后平移几个空格

image

那条蓝线就是同时为下面选中的一列同时添加。

 

为了在不同的编辑器中能够良好的注释对齐,可以在VS中自动用空格表示Tab

工具--选项--文本编辑-- 选择对应的语言--制表符

image

 

这样按Tab键就能缩进指定的空格数。也可设置Tab等效的空格数了。

还有一个技巧:Shift+Tab 是反向缩进,可以一次减小一个Tab。按3下刚才的文本缩进减小3个Tab:

image

 

 

有时候需要跳过整个单词可以用快捷键 Ctrl+左右方向键

跳到行首是Home键

跳到行尾是End键

 

这些在下面利用宏改变格式会用到。

 

 

Vim的宏是非常强大,VS的有些缓慢但也方便。

我们这里尽量养成全部使用快捷键的习惯。

把偶数行添加一个缩进。 在菜单 工具—宏 中有对应功能的快捷键

 

1
2
3
4
5
6
7
8
9
10
11
12
13
把光标定位到第一行
 
Ctrl+Shift+R 开始记录宏
 
Home到行首
 
向下 到第二行
 
Tab缩进第二行
 
再次向下
 
Ctrl+Shift+R 结束录制宏

好了按下 Ctrl+Shift+P 就可以运行最近录制的那个宏了。您也可以在宏编辑器中把宏代码到其它位置长期保存,否则下次录制临时宏就会替换掉这次的。

多按几次Ctrl+Shift+P  看到效果了吧。

image

可惜不能像Vim中那样 100@a  就执行100次宏a ,不过一般文档整理也足够用了。

 

最后和Vim的对比一下:

image

Vim的操作是

Esc跳回普通模式,gg到文首,qa记录宏a,^到行首,j到下一行,i插入,按键Tab,j下一行,Esc跳回

然后7@a,执行5次宏a就得到

image

 

 

至于从一行转换成数列排列的形式,Vim和VS2010差不多,Vim中是  :%s/为../\r&/gc   具体含义可参见Vim的文章。

恩,Vim加上插件确实适合一些“稀有”的缺乏IDE的语言使用,VS2010也很不错,作为文本整理、小说格式整理虽然杀鸡用牛刀可也挺方便并且符合我们的习惯。

 

下一篇继续尝试利用VS2010中的正则表达式一键替换全文代码注释的风格,自动对齐注释,自动删除行尾多余空格等等。

 

杨韬的学习备忘录 YTYT2002YTYT

http://www.cnblogs.com/ytyt2002ytyt/archive/2011/11/16/2250569.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多