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

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

 

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

image

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

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

为..
替换为:
\0\n

image

 

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

为..   表示“为“后面跟着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的有些缓慢但也方便。

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

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

 

把光标定位到第一行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

转载于:https://www.cnblogs.com/ytyt2002ytyt/archive/2011/11/16/2250569.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/361867.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java基础(多态的理解与应用)

1.多态概述 多态是继封装、继承之后,面向对象的第三大特性。 多态现实意义理解: 现实事物经常会体现出多种形态,如学生,学生是人的一种,则一个具体的同学张三既是学生也是人,即出现两种形态。 …

Java并发教程–锁定:内在锁

在以前的文章中,我们回顾了在不同线程之间共享数据的一些主要风险(例如原子性和可见性 )以及如何设计类以安全地共享( 线程安全的设计 )。 但是,在许多情况下,我们将需要共享可变数据&#xff0…

小程序在wxml页面中取整

小程序无法像html中,在页面中直接parseInt() index.wxml {{price | Int}} 小程序还有另一种处理方法 wxs 是一种类似于js脚本的东西 filters.wxs var filters {toFix: function (value) {return parseFloat(value)} } module.exports {toFix: filters.toFix } …

2019.7.16考试总结

对于这个狗屎成绩我不想说什么,,,,,前两次考炸也就算了,主要因为不会,这次考成这狗屎,是因为手残眼瘸大脑间歇性抽搐 T1:我是菜鸡,我是蒟蒻,我好菜…

PrimeFaces Extensions中的全新JSF组件

PrimeFaces扩展团队很高兴宣布即将推出的3.0.0主要版本的几个新组件。 我们的新提交人Francesco Strazzullo为该项目提供了“ Turbo Boost”,并带来了至少6个已成功集成的 JSF组件! 当前的开发状态是OpenShift上的deployet – 请查看展示柜。以下是有关添…

Application Verifier

老徐 says Application Verifier can help to check the memory leak issue of the notepad app.转载于:https://www.cnblogs.com/backpacker/archive/2011/11/16/2250648.html

15 个最新的 CSS3 教程

1. 创建一个漂亮的图标 这个教程将教你如何用纯CSS3创建一个图中的图标2. CSS3 图片样式 这个教程将教你如何使用 box-shadow, border-radius和transition。3. CSS3 Transition 的模糊效果4. 实用的CSS3圆角表格5. 创建纯CSS3的票式标签6. 原始的鼠标浮动效果 这个教程将创建缩…

运行时类加载以支持不断变化的API

我维护一个IntelliJ插件 ,可以改善编写Spock规范的体验。 这个项目的挑战是在单个代码库中支持多个不兼容的IntelliJ API版本。 回想起来,该解决方案很简单(这是狂野的适配器模式的一个示例),但最初它需要一些思想和示…

急救: Autodesk MapGuide Studio - Preview在MapGuide Open Source环境不能进行中文标注

MapGuide环境: 从官方mapguide.osgeo.org下载的最新版Mapguide Open Source1.1 和 MapGuide Open Source Web Server Extension开发环境: vs2005 .net2问题详述:对于图层Layer1. 选中后实体可以查询中文属性信息。具体设置在Properties displayed in Viewer&#xf…

解决新版本webpack vue-cli生成文件没有dev.server.js问题

新版本webpack生成的dev.server.js 在webpack.dev.conf.js中webpack.dev.conf.jsconst axios require(axios) const express require(express) const app express() const apiRoutes express.Router() app.use(/api, apiRoutes)然后找到devserver 这里可以配置路由devServe…

C++内存管理——指针数组

C/C程序中,指针和数组在不少地方可以相互替换着用,让人产生一种错觉,以为两者是等价的。但二者有着本质的区别:数组:要么在静态存储区被创建(如全局数组),要么在栈上被创建。数组名对应着(而不是…

ArcGIS中的WKID(转)

ArcGIS中的WKID link: https://www.cnblogs.com/liweis/p/5951032.html 提到坐标系统,大家多少能明白一些,但在运用时,有些朋友搞得不是非常清楚,以后专门来总结。在实地生产项目中,使用较多的2000中国大地坐标系&…

Nashorn如何在新层面上影响API的发展

在上一篇关于如何将jOOQ与Java 8和Nashorn结合使用的文章之后,我们的一位用户发现了使用jOOQ API的缺陷, 如用户组中所述 。 本质上,缺陷可以总结如下: Java代码 package org.jooq.nashorn.test;public class API {public stati…

flex弹性盒子

注意事项 1.设为Flex布局之后,子元素的float,clear和vertical-align属性都讲失效 2.采用Flex布局的元素,称为Flex容器(Flex container),所有的子元素成为容器成员,称为Flex项目(Fle…

Oracle Golden Gate 系列十三 -- 配置GG进程检查点(checkpoint) 说明

一.Checkpoints 理论说明有关GG的Checkpoints 在系列一, GG的架构中以说明:OracleGolden Gate 系列一 --GG 架构 说明http://blog.csdn.net/tianlesoftware/article/details/6925907这里在单独拿出来说明一下,因为这是一个较为重要的概念。Ch…

开始JBoss BPM流程的3种基本方法

这一集提示和技巧将帮助您了解根据需要启动流程实例的最佳方法。 规划项目可能包括流程项目,但是您是否考虑过可以启动流程的各种方式? 也许您的JBoss BPM Suite在您的体系结构中本地运行,也许您在云中运行,但是无论它在哪里&am…

用asp.net编写冒泡排序法

这里写了一个冒泡排序的函数. int[] a newint[10] { 12,564,95,44,69,499,693,6746,6496,124}; for(inti0;i<a.Length;i) for(intj i1; j <10; j) { int min a[i]; if (a[i] > a[j]) //升序排列 …

使用Gradle构建和应用AST转换

最近&#xff0c;我想在Gradle项目中构建并应用本地ast转换。 虽然我可以找到一些有关如何编写转换的示例&#xff0c;但找不到完整的示例来显示完整的构建过程。 转换必须单独编译&#xff0c;然后放在类路径中&#xff0c;因此其源代码不能简单地放在Groovy源代码树的其余部分…

7月17日每日一答

1 什么是闭包函数&#xff0c;闭包函数满足什么样的条件&#xff1f;请写一个常见的闭包函数。 所谓的函数闭包本质是函数的嵌套和高阶函数。我们来看看要实现函数闭包要满足什么条件&#xff08;缺一不可&#xff09;&#xff1a; 1)必须嵌套函数 2)内嵌函数必须引用一个定义在…

vi 常用命令

一、vi简介 vi编辑器是所有Unix及Linux系统下标准的编辑器&#xff0c;它的强大不逊色于任何最新的文本编辑器&#xff0c;这里只是简单地 介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本&#xff0c;vi编辑器是完全相同的&#xff0c;因此您可以在其 他…