EmEditor是什么 EmEditor为什么程序员都改用它了

EmEditor 是啥?它是一款和UltraEdit、EditPlus类似的文本编辑器。
“KAO!有没有搞错,一个文本编辑器有啥好说的?!”
“我已经用惯了UltraEditor和EditPlus,不想再换了,再见!”
我想你肯定会这么说。以前我也用了很久的EditPlus,不过最近却转向EmEditor了,因为它确有许多独到之处。让我慢慢道来。

令人惊艳的查找显亮功能
说起来,用文本编辑器偷懒最常用的就是查找和替换功能了。我常常在想,我比民工唯一高级的地方就是我能复制粘贴以及查找替换而民工不能。当然,如果房子也能复制粘贴不知道还是不是现在这个价?查找替换确实挺高级,可是当一个文件里有三、五十个地方需要替换,我们一边一下一下地按着“替换”按钮,一边瞪大眼睛盯着不断跳动的屏幕,生怕把哪个不该替换的给替换了,完了还要担心是不是有该替换的没被替换?唉,程序员的命好苦,眼睛好痛啊……即使这样,“全部替换”按钮我也是不敢按的,谁知道这一按下去会有哪些不该替换的被替换了,又有哪些该被替换的却被漏掉了?一失足成千古恨的说。

如果你尝试在EmEditor里按“Find Next”按钮……

看到没?(那些绿色可不是俺用记号笔故意涂上去的,虽然俺常喜欢这么干),所有匹配查找条件的部分都会被涂成绿色,这样我们就可以在替换之前先检查一遍,然后翘起二郎腿,喝一口咖啡,随手按一下“Replace All”,吼吼,瞬间搞定啦。

小贴士:选菜单“Search > Erase Find Highlight (Alt+F3)”可以暂时关掉显亮功能。

独门绝技:强制大写(小写)替换

深夜,鸭梨公司。
Clark正坐在电脑前发呆,一阵清脆的手机铃声打破了他的沉思,原来是他那正在读研的老婆打来的。
Clark:“老婆,论文通过了没有呀?”
老婆:“论文到是没啥太大问题,可是老师说我的程序完全不符合.net编码规范,让我全部改过来。可是明天就要正式答辩了,这可咋办呀?”
Clark:“怎么会这样?你把程序拿过来让我see 1 see。”
不一会,Clark就看到了他老婆的程序和肿得像水蜜桃似的眼睛。老婆指着程序里的属性声明代码说,喏,就是这里啦:

private long contract_id;
private string contract_number;
private string customer_name;

“老师说符合编码规范的代码要这个样子才行。”

private long contractId;
private string contractNumber;
private string customerName;

“嗯……这也不难,用正则表达式查找替换一下就行啦。”,Clark道。
“我也想过这招,可是用查找和替换最多只能把那个下划线去掉,并不能把小写的字母变成大写的啊?”老婆大人要急死了。
Clark微微笑道:“别急,面包会有的,小写也能变成大写的……”
在老婆大人扑过来之前,Clark以迅雷不及掩耳盗铃之势如破竹篮打水的速度打开了EmEditor,输入查找正则表达式【_(/w)】和替换表达式【/U/1/E】。“/1”表示查找表达式中的第一对“()”里的内容。

然后,按一下“Replace All”按钮,就搞定了。

小贴士:在“Replace”对话框中的“Find”和“Replace with”文本框的右侧各有一个“>”按钮,点击它们可以看到一个下拉菜单,列出了许多常用的正则表达式标记,点击菜单的最后一项“Help on Regular Expressions”可以打开EmEditor所支持的正则表达式帮助文档。

丰富的插件

不知道从啥时候起,很多正二八经的功能都不放到主程序里了——它们统统变成了插件,害得我安装了主程序之后还得一个一个地去下载插件。


由于插件实在太多,限于篇幅(其实就是俺比较懒啦),这里仅介绍几个比较有趣的。

行首/行尾字符串插入

我们有一段VB写的程序:

OpenIceBoxDoor()
PutElephantIn()
CloseIceBoxDoor()

现在想把它改成C#的(也就是想在每行结尾加上一个分号啦),可以这么做:


右对齐 & 列编辑模式

现在我们又想把上面的那段程序改为VB的了(也就是把行尾的分号去掉),可以这么做:

说实话,我一直不太喜欢用宏,可能是被宏病毒给搞得有些心理障碍了吧。不过有些问题只有用宏来解决才方便。比如想从下面这段代码中把字段名取出来。

使用“emeditor_perfecta_en.jsee”这个宏,让它把与正则表达式【Path=/w+】匹配的字符串抽取出来放到一个新的文档中。我不喜欢宏的另一个原因是不能够像查找替换那样可以在执行前预览,所以像这个宏这样不更改原来的文件内容而是把匹配的内容放到一个新文档中比较让人放心。

然后用前面介绍的列编辑模式把前面的“Path=”删除就行了。
您可能会问为什么不用带有逆环视结构的正则表达式【(?<=Path=)/w+】呢?这样在匹配结果里面就不会包含“Path=”啦。这是因为EmEditor中的宏是使用的JavaScript代码,而JavaScript里的正则表达式是不支持逆环视结构的
JavaScript里的正则表达式可以参考http://www.ijavascript.cn/shouce/javascript-regexp-71.html
可以使用这个小工具测试你的正则表达式Test javascript regex

获取字符编码

我一直记不住“<”这个字符的编码是啥,有了EmEditor就不用愁了。把光标置于“<”的左侧(注意是左侧而不是选中它),然后使用菜单“View > Character Code Value... (Ctrl+I)”就可以知道它的ANSI和Unicode编码了。

“景”的Unicode编码为“666F”,就是“顺顺顺发”,知道我的运气为啥一直这么好了吧?

连字符计数功能都做得这么细致……

没想到这篇破文章写了 n 多小时都没写完,真想知道自己已经写了多少字了。

原来才写了2000多字。

类似IE7的Tab页

在空白处双击鼠标左键,就可以新建一个空白文档。

丰富的定制功能

使用菜单“Tools > Properties for All Configurations”可以设置所有类型的文档属性;使用菜单“Tools > Select Configuartion > C#”可以单独设置C#文档的属性。

例如如果把上图中的“Vertical Line”复选框打上勾,就可以在文档中显示一条银灰色的竖线,相当酷(这个有趣的功能是扇子发现的,特此感谢)。

EmEditor 下载地址:www./softs/39900.html

(0)

相关推荐

  • 为什么每个程序员都应该学习C语言?

    操作方法 01 每个程序员在他们的编程生涯中都应该学习C语言,因为它有太多难以忽视的好处了.除了它会给你提供更多的工作机会之外,C语言还会教给你更多的关于计算机的知识.它能给我们提供的裨益,简单列举如 ...

  • 一名优秀的程序员是这样炼成的

    如何成为一名优秀的程序员? (一) 一位仁兄说的“程序员写的程序不是算法+语法 ,而是要能够满足用户需求的工 具”我非常赞同,要想达到用户需求就必须从各个方面来考虑如业务、人机交互 、效率等方面,而不 ...

  • 程序员起名字(给鹅起个好听的名字)

    各行各业都有起名梗教师:宋全文.焦作业房地产中介:娄易销.成娇快二次元家长:陆焰之瞳.端木女王实在想不出来就叫:老大.老二.老三那么问题来了鹅厂程序员怎么给孩子取名↓以下内容,摘自腾讯内部论坛 乐享乐 ...

  • java程序员能做什么?

    伴随者互联网越来越开放,java程序员也吸引了越来越多的人参加.我们可以从程序语言排名可以看出来,基本上java语言都进入了前三名.或许也就是java开发人员这几年比较多的原因.因为java语言是一个 ...

  • 新手程序员必知十个秘密

    没有几个学生能 100% 为自己的第一份真正的工作做好准备.如果你不想成为其中之一,请学学以下这 10 项无需手把手指导就能学会的基本技能: 操作方法 01 1.版本控制系统(VCS) VCS 也许是 ...

  • 怎样才知道自己适不适合做程序员

    选择比努力重要,人生不过几十年,没有那么多时间让我们去试错,找到自己喜欢的适合的才是最重要的. 操作方法 01 编程主要分两类,普通类和高级类.普通类就是展示类的,数据库的,游戏的这些.而高级类的是一 ...

  • 软件开发你属于哪一种程序员

    操作方法 01 程序员在很多人眼中是很高深的技术,在这个行业的人也各自有自己的特性,从事软件开发久了之后,各有自己的特点和性格,你刚好也是程序员中的一位,试着找找看你是属于哪一类程序员. 在日常工作里 ...

  • 如何成为一名程序员

    成为程序员是一个日积月累的过程,需要日复一日年复一年的技能增长.编程本身是有趣的,并且有回报(脑力层面.精神层面.经济层面).这份指南不能保证你轻松当上程序员.不要神化下面这些步骤,从中你大概能了解在 ...

  • 都是C但是有不同 C#中C/C++程序员注意问题

    操作方法 01 达内盘点:C#中C/C++程序员注意问题的总结,希望对大家有所帮助.    1.C/C++程序员请注意,不能在case语句不为空时"向下执行". 2.值类型和引用类 ...