说来惭愧,我是最近才使用上UltraEdit(以下简称“UE”),这对那些常年在UE下编程的高手来说绝对是一盆凉水泼在了头上。无奈,看到人家在享用UE的强大功能时,我禁不住摒弃常用的IDE,开始了UE的征程……
到底是UE的什么功能让我这个顽固子弟决心要试用她呢?答曰:“列编辑功能”。初看这个名字,可能很多人不清楚这个功能的具体含义,我来解释一下。平时我们使用的记事本编辑ASCII文件时,如果需要改变每行中的相同的文本时,就需要一行一行的来编辑修改(当然,你也可以使用notepad自带的 Ctrl+H替换功能,将字符串逐一替换掉),比如下面的几行文本:
loanRepayPlanInstance.loanCode = loanCardInstance.loanCode;
loanRepayPlanInstance.warrantCode = loanCardInstance.warrantCod;
loanRepayPlanInstance.custId = loanCardInstance.custId;
loanRepayPlanInstance.custName = loanCardInstance.custName;
loanRepayPlanInstance.custType = loanCardInstance.custType;
loanRepayPlanInstance.contrCode = loanCardInstance.contrCode;
loanRepayPlanInstance.repayTimes = plan.getNumber();
loanRepayPlanInstance.repayDate = plan.getEndDate();
loanRepayPlanInstance.curType = loanCardInstance.curType;
现在我想将每行中的loanRepayPlanInstance 改成loanRepayInstance ,在这里,使用Ctrl+H替换也许能达到目标,但是如果这段只是整个文件的一小部分,文件的其他地方还大量使用了loanRepayPlanInstance 这个字串的时候,Ctrl+H这个notepad自带的替换功能就显得力不从心了。在eclipse中操作这些代码也是很土的方法,因为它本身没有列编辑功能(不过eclipse可以安装一个插件解决列编辑问题)。废话我不多说了,让我们看看UE(现在很多其他的编辑器也有这个功能,比如免费的 PSPad,兼容了很多编辑器的优点,非常帅!绝对值得读者您一试!)下是如何实现列编辑的。OK,一图胜千言,看下面的截图
看到了吗?我已经使用列编辑将Plan中的“an”同步删除了,实现这个功能只需要点击键盘上的“Alt+C”即可,是不是方便至极?想来试试吗?那就快点使用UE吧~
也许这对很多人并没有什么吸引力,他们认为这种任务完全可以由鼠标和键盘Ctrl+C和Ctrl+V来一步步完成,或者使用替换文本的功能完成,可以,完全可以,这两种方法都能达到同样的效果,但从这三种操作花费的时间来看,UE就已经胜出了,我们给UE鼓掌!
这就是迫使我使用UE的理由,怎么样,这个理由很是充分吧?我立马就安装了UE,然后花了一下午的时间简单地熟悉了UE的快捷键,都说使用UE就是使用她的快捷键,其实一点不假。本来我在eclipse下写程序写的好好的,现在不行了,总想到一些奇特的编辑文本的方法,但eclipse根本满足不了需要,总有一种想到UE下编辑的冲动,最终让我把UE作为第一编辑器使用。
本文是为了说明UE的快捷键,上面只说了其中的一个——“Alt+C”列模式。还有N多的快捷键可以使用,使用这些快捷键你也可以像“编程狂人”一样不使用鼠标而更快速的解决编辑问题,下面请听我给你一一道来。
首先,引用一位网友的话将现今的主流编辑器做一下对比。“说到编辑器的快捷键,VIM 是无与伦比的,要反对,也得是带脚踏板的EmaCS。UE还是有差距的,很大差距!注意:VIM是开源、免费的,而UE则需要注册付费。UE是 Windows下最好的编辑器——如果没有VIM和Emacs的话。而VIM和Emacs则是任何操作系统下最好的编辑器。”还有老一辈的程序员这样说的 “全世界有两类程序员,一类是使用EmaCS的,一类是使用VIM的”,这里完全没有提到UE,说来也是,UE的发展历史还是比较晚的,而EmaCS的历史可以追溯到上个世纪60年代。要是能熟练掌握这里面的任一款编辑器的快捷键,我敢保证,你的工作效率将会翻倍的提升。
Key1 自动换行_CTRL + W
这个已经不是什么新奇的功能了,就连你们最不喜欢的notepad都有了这个功能。说来也奇怪,编辑器为什么都带有这个功能呢?谁愿意自己的编辑器带有水平滚动条啊?其实,非也,就本人的理解,UE编辑器默认的非换行功能是为了让某种语言的编译器(注意这里是编译器,而不是编辑器)能指出错误的精确行数,比如,如果编译器告诉你错误出现在187行,在UE下这是很好处理的,但如果在别的编辑环境下,你想到187行寻找恐怕就困难了,即使他有行号标记,但如果你强制换行了,那么他的行号可能就和编译器提示的完全不符了,因为编译器里提示的行号是根据回车的数目确定的,而一般编辑器的行号则是按照屏幕显示的行来确定的,这两者肯定不能划等号。说了这么多,想必您也明白了,是不是嫌我啰嗦了,没事儿,我就是这样的人——不把看我日志的所有人都教会,我是不会罢休的,原谅我吧!
Key2 插入当前日期/时间——F7
这个不用我多说,按下F7就可以插入当前日期了,格式是这样的:“2009-5-28 10:57:57”,都能看懂吧?这个在程序的注释里面很管用,不用自己想今天是几号了,直接F7插入搞定,爽吧!Let's go on...
Key3 找到匹配的括号 (,[,{ or },],)——CTRL + B
这个功能我不得不说一下,在eclipse里也有这个功能,就是从茫茫嵌套里找到我想要的那对括号的起始位置,eclipse下只要在括号旁双击就OK 了,无论是小括号、中括号还是大括号,都可以搞定。但是在UE下是通过CTRL + B这组快捷键来达到目的的,按下它就可以将这对括号中的文本全部选中,这时候你该知道这是哪儿到哪儿了吧?说到这里,有人可能会发问,这和高亮匹配括号有什么不同?问得很好,答案是,当括号跨越的屏幕达到好几屏的时候,这个功能可是比高亮显示匹配括号更管用,不是吗?自己体会去吧~
Key4 转换所选文字为小写——Ctrl+ F5
这个嘛,顾名思义吧!和它对应的是Atl + F5,将字串转换为大写,当然,这是针对英文单词的操作。
Key5 设定书签——CTRL + F2
这个功能很帅,它可以在不修改文本的情况下给你的文本添加书签,所谓书签,就是指示我这本书我看到了哪一页。举个例子,现在我正在编辑文本的198行,我突然发现,上面的第45有个错误,于是我回到了45行(可以通过Ctrl + G快速定位指定的行号),修改完错误后,这时候我可以通过使用Ctrl + G跳到198行,但如果这时候我忘了198这个行号怎么办?答案是在离开198行时给它设定一个书签,按下CTRL + F2就可以了,效果如下图:
看到198这个行号已经被加亮了吧?现在你可以随便哪里逛了,到时候想一下子回到198行,只要按下F2就行了,很牛吧!当然,你可以在文件里加上N多的书签,然后按下F2逐个切换就可以了,想取消书签,在制定的行上再次按下CTRL + F2就行了。
Key6 转到指定行——Ctrl + G
这个在eclipse下有一个功能完全相同的快捷键——Ctrl + L,eclipse的快捷键就是好记,这里的L就表示Line了,忒好记了,在这里感谢eclipse的开发人员!UE的Ctrl + G中的G据我猜测应该是go的意思,也有一定的道理,第一次使用UE时我自作聪明的按下了Ctrl + L,结果,没有响应,呵呵~这个功能在编译器报错的时候特管用,当编译器提示错误出现在198行,你Ctrl + O打开文件后直接Ctrl + G到198,多流利的操作啊!怎叫人不佩服呢!Follow me...
Key7 10个剪贴板——Ctrl+0-9
这个是我很想要的功能,非常感谢UE,她满足了我的需求。众所周知,Windows家族的OS都有且只有一个剪贴板,有时候我们刚剪贴或复制了一个很长很长的文本后,不小心又复制了一个小文件,这时候我们先前复制的很长很长的文本就不见了!如果是从网页上Copy下来的,而这时候我们又关闭了网页,是不是比出门下雨没带伞还要糟糕呢?这就是Windows的剪贴板的特性决定的,它一次只能保存一条内容,后来的会无情的覆盖掉先前的,这可不是人人都想要的结果。那么在UE下你彻底不用担心这个问题了,只要你是在UE的文本间(你要是误解了我的意思,跑到IE浏览器上使用Ctrl+0-9这10个快捷键我可不负任何责任哦~)复制剪切,这十个剪贴板应该大大的足够了吧?下面我来说明一下它的使用方法。现在又五个段落需要分别查到另外一个文本中,传统的方法,我们可以分别使用五次Ctrl + C和Ctrl + V来搞定,而且每两次之间的间隔就是到另一个文本里粘贴文本,现在我们摒弃掉这个落后的粘贴方式,使用UE的多剪贴板功能来实现它。首先按下Ctrl + 1激活UE的第一个剪贴板,再按下Ctrl + C复制下第一段文字,这时候我们不用去粘贴,而是接着按下Ctrl +2激活UE的第二个剪贴板,再使用Ctrl +C复制第二段文本,以此类推,每次我们都不需要去粘贴,而是最后一次性粘贴。现在我们找到需要粘贴的地方,用Ctrl +1激活第一个剪贴板,再按Ctrl +V粘贴第一段文本到指定位置,同样,用Ctrl +2激活第二个剪贴板,Ctrl +V粘贴到第二块位置,以此类推,搞定!怎么样,这应该比Windows的快不少吧~
Key8 删除光标所在的行——Ctrl + E
还记得eclipse底下相应的快捷键吗?没错,就是Ctrl + D!不错不得不承认,UE下的行删除功能没有eclipse下的强大,因为UE下只能删除光标所在的一行,对其余的行无效,而eclipse下则可以删除任多行,只要选择要删除的行,按下Ctrl +D就可以删除所有选择的行。又有人会问了,这和选中+delete有什么不同?我要说的是,delete只删除被选中的文本,而Ctrl +D会删除掉整行的文本,哪怕这一行只有一个字符被选中……这个Ctrl +E在UE下还是比较常用的,想删除文本中多余的空格时这个快捷键会比delete或backspace快很多,相信我吧,这个很管用!
Key9 删除从光标到行首的内容——Ctrl +F11
这个功能可以从它的字面来深刻的理解,没有什么高深的东西,只要用的多了就是水到渠成、司空见惯的常识了。和这个快捷键对应的是Ctrl +F12,见Key10。
Key10 删除从光标到行尾的内容——Ctrl +F12
不用多介绍了,自己尝试吧,记住,只有用的足够多了,才能在大脑中形成无意识的习惯,下次遇到问题,不用去检索大脑而是手随目到,手目合一。怎么样?这也是一种境界。
Key11 查找上/下一个出现的字符串——Ctrl + F3/F3
如果想在文本中查找某一个字串出现在哪些地方,该怎么办?当然,可以使用Ctrl +F查找,现在我不用这种方法而是介绍一种基于Ctrl +F查找的更高级的办法,Ctrl +F3和F3,这两个是一对快捷键,分别对应Ctrl +F里的查找上一个和查找下一个。还有一点需要说明的是,Ctrl +F是从文件的开始或结尾处开始查找,而Ctrl +F3是从当前行开始查找,我们有时候就是需要查找当前行附近的几行,这下Ctrl +F3派上用场了吧!哈哈,其实原理很简单,Ctrl +F3和F3是基于Ctrl +F的。赶快去试试吧~
Key12 文本替换功能——Ctrl + R
很显然,这里的R是指replace,很好记吧!一般的编辑器下都是使用这个快捷键的,不过notepad使用Ctrl +H搞定同样的事情。这里,我要说的是UE下的Ctrl +R,它不但包括了普通编辑器下的文本替换功能,还增加了正则表达式替换,这可是UE的一个非常非常强大的功能,要是能熟练使用正则表达式,可真算是一个高手了,我还没到那地步,只是简单学习了一下,在此不敢献丑,顾留给读者朋友亲自去尝试。
Key13 删除前一个单词——Ctrl + Backspace(退格键)
这个快捷键应该使用的非常多了吧!按下它UE会删除光标前面的一个单词而不是一个字母,那么UE是通过什么来感知这是一个单词(这里的单词不仅仅是我们英语里的单词)呢?没错,是通过空格符来感知的,两个相邻的空格符之间的字串就被认为是一个“单词”,删除它吧,怎么样?比选中了该单词然后delete来的更快了吧!无需操作鼠标的哦~聪明的朋友可能会问了,那么删除后一个单词是不是Ctrl + Delete呢?太聪明了,答案就是这样!
Key14 删除后一个单词——Ctrl + Delete
上面说的很清楚,这里略去。
Key15 复制并粘贴当前行——Alt + Shift +D
在多次重复同一件的事情的时候,我们都希望有一个快捷的操作——复制上述操作并粘贴下来,然后我们再改改几个单词就行了,这想必各位大侠都遇到过吧!我用复制+粘贴照样可以搞定!是的,你说的很对,平日里我们使用的就是Ctrl +C和Ctrl +V,用的太多了,还以为这个很快。下面我要说的是UE下还有更快的实现同样功能的操作,那就是Alt + Shift +D,我说了不算,你得自己亲自去试试才知道。下面是这个功能的截图
后面四行都是一样的,我们可以在第二行上按下Alt + Shift +D三次就得到上面的结果了,怎么样,比复制粘贴快吧!效率,才是我们追求的目标,这正是UE带给你的不一样~
Key16 这是自定义的快捷键 响应eclipse下的注释快捷键Ctrl + /,我把UE下的注释(本来是没有快捷键的,在编辑菜单里)添加了快捷键Ctrl + /,这样使用起来非常方便,想必用过eclipse的都知道在调试的时候将自己的代码注释掉是一个非常常用的功能,有些人可能用/*注释*/进行块注释,天哪,这该多慢啊!在eclipse下直接选中要注释的行,按下Ctrl + /一切都搞定了,要想取消注释就再选中所有行按下Ctrl + /,多方便的操作啊,只要按下两个键就可以了,不强大吗?但在UE下取消注释需要用到另一个快捷键,如果和eclipse下一样再次使用Ctrl + /就会再增加一层注释,这也是本人认为UE需要改变的地方——没人愿意给自己的代码加两次同样的注释,完全可以使用同样的快捷键来取消注释。我在UE下设置的取消注释的快捷键是Ctrl +\,就是斜杠和Ctrl + /的相反而已,也很容易记住,试试吧!
Key17 在UE中的多个标签间切换——Ctrl + Tab
这是模仿Windows底下Alt + Tab组合键切换任务栏窗口的快捷键,在UE下通过Ctrl + Tab可以从多个标签间切换,这也省去了鼠标点击的麻烦。
Key18 比较文件——Alt + F11
这是用来比较两个或多个文件的工具。它能一下子将几个文件中不同和相同的部分表示出来,不要小看这个功能,当你修改过程序员甲编写的一个文件的时候,现在甲又要阅读你修改后的程序,他迫切想知道的是你给他修改了什么内容,如果一行一行的看,很显然,费时!现在可以通过Alt + F11来达到目的了,不是很快吗?
上面介绍的这些快捷键都是我在开发中比较常用的,对于UE,这只是皮毛而已,还有N多快捷键呢,在这里,我是无法一一列出的,肯定各位原谅!想要充分熟练UE的shortcut Key还是多多练习,多多使用UE。
介绍完上面的快捷键后,我再来带领大家学几个技术,主要从UE配置上来说明。我们可以为每一个文件的扩展名设置一款颜色,让我们从UE的标签栏就可以推断出这是什么文件,这个功能是不是很直观呢?请看下图
这里面用了三种颜色标示了三种不同扩展名的文件,分别是.html、.gsp和.groovy的,等你用多了,直接看颜色就知道是那种文件了,是不是很厉害,不过,默认的UE配置是没有开启这个功能的,现在我带领大家开启这个小功能。打开UE的菜单,依次找到高级—>配置—>应用程序布局—>文件标签—>Colors ,在右侧就看到一块条状的区域了,在这里面就可以设置不同扩展名的颜色了,设置完成了别忘了点击上面的Tab colors by file specification 复选框,这时候回到编辑状态下就可以看到效果了。
开启行号显示的功能。这在默认情况下好像没有开启,我们可以通过视图—>显示行号 开启该功能。
开启自动完成功能。这个在UE默认情况也是关闭的,我们现在打开它。找到高级—>配置—>—>编辑器—>自动完成 ,选中右边的“自动显示自动完成对话框 ”,下面保留数字2,这样就激活了自动完成功能,而且是在输入两个字符的情况开启的,很实用的哦!下面我来给你演示一下:
看到了吧?我在上面已经输入了WangWei,现在我想在再输入一次,可以先输入Wa,这时候UE会提示WangWei,你只要按下回车WangWei就被输入了,怎么样,比Ctrl + C、Ctrl + V快吧!
差不多了,已经写了N多快捷键了,还附加了几个小技巧,想必各位看都看累了。