自从开始在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
坚持以热爱祖国为荣、以危害祖国为耻,以服务人民为荣、以背离人民为耻,以崇尚科学为荣、以愚昧无知为耻,以辛勤劳动为荣、以好逸恶劳为耻,以团结互助为荣、以损人利己为耻,以诚实守信为荣、以见利忘义为耻,以遵纪守法为荣、以违法乱纪为耻,以艰苦奋斗为荣、以骄奢淫逸为耻。
Vim的整理方式在善用佳软中有详细的介绍,Ok,看看VS2010下怎么快速整理。
一排字没有分行,先给每句话分行。
Ctrl+F 到查找,快速替换--勾选:使用正则表达式
为..
替换为:
\0\n
好了,看到效果了,瞬间全部替换成竖排了
为.. 表示“为“后面跟着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
然后替换标点什么的就不用说了。
列操作可以 Alt+鼠标左键 ,也非常方便。
按下Ctrl+R,Ctrl+W 显示空格和换行(再次按下关闭显示),我们添加注释符号再向后平移几个空格
那条蓝线就是同时为下面选中的一列同时添加。
为了在不同的编辑器中能够良好的注释对齐,可以在VS中自动用空格表示Tab
工具--选项--文本编辑-- 选择对应的语言--制表符
这样按Tab键就能缩进指定的空格数。也可设置Tab等效的空格数了。
还有一个技巧:Shift+Tab 是反向缩进,可以一次减小一个Tab。按3下刚才的文本缩进减小3个Tab:
有时候需要跳过整个单词可以用快捷键 Ctrl+左右方向键
跳到行首是Home键
跳到行尾是End键
这些在下面利用宏改变格式会用到。
Vim的宏是非常强大,VS的有些缓慢但也方便。
我们这里尽量养成全部使用快捷键的习惯。
把偶数行添加一个缩进。 在菜单 工具—宏 中有对应功能的快捷键
把光标定位到第一行Ctrl+Shift+R 开始记录宏Home到行首向下 到第二行Tab缩进第二行再次向下Ctrl+Shift+R 结束录制宏
好了按下 Ctrl+Shift+P 就可以运行最近录制的那个宏了。您也可以在宏编辑器中把宏代码到其它位置长期保存,否则下次录制临时宏就会替换掉这次的。
多按几次Ctrl+Shift+P 看到效果了吧。
可惜不能像Vim中那样 100@a 就执行100次宏a ,不过一般文档整理也足够用了。
最后和Vim的对比一下:
Vim的操作是
Esc跳回普通模式,gg到文首,qa记录宏a,^到行首,j到下一行,i插入,按键Tab,j下一行,Esc跳回
然后7@a,执行5次宏a就得到
至于从一行转换成数列排列的形式,Vim和VS2010差不多,Vim中是 :%s/为../\r&/gc 具体含义可参见Vim的文章。
恩,Vim加上插件确实适合一些“稀有”的缺乏IDE的语言使用,VS2010也很不错,作为文本整理、小说格式整理虽然杀鸡用牛刀可也挺方便并且符合我们的习惯。
下一篇继续尝试利用VS2010中的正则表达式一键替换全文代码注释的风格,自动对齐注释,自动删除行尾多余空格等等。
杨韬的学习备忘录 YTYT2002YTYT
http://www.cnblogs.com/ytyt2002ytyt/archive/2011/11/16/2250569.html