话说EmEditor我用了好几年。在我看来对于非专业程序员,EmEditor可以称得上是Win平台下最为完美的编辑器,因为它在速度、功能、易用性和扩展性上都达到了相当平衡的高水准。
EmEditor的功能和特点:标签页编辑、语法着色和自动完成、文本格式操作、正则表达式查找替换,以上都已经是主流文本编辑器所必备的特征了;大文件支持;原生Unicode支持、内码检测和转换;外部工具扩展;支持宏和脚本、插件,可以自己编写;……
我最看重的是EmEditor的轻快和内码检测转换的强大。我用过超过两星期的文本编辑器包括UltraEditor、PSPad、Notepad++、ConText之类的,在老机器上EmEditor打开文件的速度是仅次于记事本的第二快,因此很自然地,不管我试用什么编辑器,文件关联总是雷打不动的EmEditor。至于Unicode支持和多内码则是EmEditor的独门绝技。EmEditor在打开文本文档的时候能够自动检测文件的编码格式,给出最有可能的格式和相应的编码预览,这个功能在处理多国语言,不清楚文件实际编码方式的时候非常有用。只要系统中安装了相应的code page和unicode字体,EmEditor支持编辑和保存任意编码的文本。编码的转换也是非常方便的,直接使用reload as就能实现on-the-fly recoding,跟浏览器没有什么两样。而其他的文本编辑器就没有类似的功能,以上那些宣称支持Unicode的编辑器实际上要么需要手动调整code page和字体,要么只支持保存为UTF-8,16等格式而无法存为任意格式。
硬要说EmEditor的不足的话,比如虽然也有一定的辅助编程的能力,但在本质上EmEditor是一般向的编辑器。跟上面那些程序员向编辑器不同,EmEditor没有工程管理、不支持拼写检查、不支持编译、没有16进制编辑能力。这也是它的定位所造成的。作为一个日常使用的一般向编辑器,就算Win平台的Vim和Emacs都不会比EmEditor更好。特别的,这样一个完美的编辑器不是由大公司或是开源团队,而是个人开发和维护的,使人不得不佩服作者木村丰(可以去官网上的讨论区看看,bug报告、使用讨论的每一个问题都是这个人在回帖)。
之前一直用的破解版,进入9版之后,EmEditor加入了在线key校验使得算号器失效了(patch主程序好像没作用),我很认真地考虑是否要花300元买一个正式的licence。不过在这之前,还是找一下有没有功能上接近免费软件。于是发现了一个劣化替代品——MadEdit。实际上早先我也下载过这个编辑器,不过由于开发者对于程序图标的审美观与我分歧太大,我根本没碰过它。
MadEdit是一个开源跨平台文本编辑器,支持Win、Linux和FreeBSD。Win平台的MadEdit无需安装,解压即可运行。打开文件的速度比EmEditor略慢,不过作文件关联属于还可以接受的范畴。在我最关心的内码检测和转换方面,MadEdit的功能与EmEditor不相上下,某些功能还犹有过之。
MadEdit的优点:小巧快速,整个程序文件夹不超过2M;Unicode支持,自动检测内码,可以编辑和保存任意编码格式,支持实时编码转换;带有16进制编辑模式;界面语言支持简繁日英意;开源。
在转码功能上,MadEdit有一个很特别的功能:支持日文汉字、简体汉字和繁体汉字的互转。同一个汉字在不同的书写体系中有不同的书写方式(当然编码也不同),MadEdit可以在文件编码一定的情况下改变汉字的书写形式,如果出现了目标编码页不包括的汉字,MadEdit会将其标注为U+XXXXh的Unicode越界形式便于恢复,不会丢失字符信息。
这个功能有时是很实用的,比如原来我在轻国下的日文小说,上传者很秀逗地特意把日文汉字预先替换成简体汉字,然后转成GB码。而我PDA上的青空文库体阅读软件只能读取Shift-JIS编码的青空文库格式文本。利用EmEditor来做GB到Shift-JIS的转码,由于Shift-JIS不包括某些简体汉字,这些汉字全部被转换为“?”。利用MadEdit就能轻松地转码。
不过MadEdit还算不上成熟的编辑器,它的缺点很明显:还存在很多bug;作为开源软件却没有内建扩展功能,没有宏、插件、不支持外部工具;连开发文档都没有;还有,程序图标实在是太过小众了……
总而言之MadEdit是一个有替代EmEditor潜力的开源编辑器,我准备继续用一段时间,看它能否打消我在EmEditor上花300元的冲动。
软件下载和截图:http://madedit.sourceforge.net/
[来源:http://bbs.sjtu.edu.cn/bbscon,board,software,file,M.1258285390.A.html]
分类目录
- arch/management (17)
- computer (38)
- java/j2ee (305)
- lnmpa (237)
- mac/iphone/ipad/android (11)
- mysql/oracle/postgresql (126)
- os/software (74)
- other (518)
- python (6)
- redis/memcached/mongo (31)
- sitebuild (143)
随便看看
标签云
程序员 创业 人生箴言 eclipse 快捷键 术语 索引 unix命令 vim wordpress java学习笔记 环境变量 oracle内置函数 index 人生 数据类型 nohup tuxedo mysql学习笔记 MS-DOS命令 servlet spring 职场进阶 职业进阶 服务器选购 服务器选型 apache JPA MongoDB 注解 tomcat 子女教育 jquery maven JVM aix命令 网络营销 java异常 seo 人生规划 关键字 css 网络推广 struts 系统优化 成长 frame iframe bluehost jdbc select 我的信仰 oracle函数 cookie HashMap 站长工具 乱码 ArrayList secureCRT jsp session tail find halt 事务 oracle单记录函数 算法 URL window table javascript操作表单元素 String 字符串处理 健康 http 域名 情感 more google A记录 域名解析 netstat 弹出对话框 弹出窗口 框架集 框架 excel 字符串 javascript函数 showModalDialog nginx number 数组 sql frameset 开源程序 java数组 软件 oracle服务友情链接
收藏链接