(转至 http://docs.google.com/Doc?id=ajg6cvhntzhp_44hnkcz6)
一、UltraEdit
工作以后,到了紫光软件公司(现在的紫光华宇软件公司)。公司里的人都用UltraEdit,于是我也装了一个,是破解版的,用了几天,感觉很好,除了启动慢以外,行号、列操作、日期、行高亮显示、可集成编译器、10个剪贴板、十六进制编辑、右键菜单打开等功能都让我非常满意,当时一度认为这是最好的编辑器,有编辑器如此,夫复何求!:P
不过在使用过程中,也有一些小问题,列操作时经常会出现乱码,虽然不影响操作,但总感觉不太好。还有就是黄色的高亮显示有点太显眼(这个颜色可以自己设置),感觉不太好。
我对UltraEdit的评价:
优点:
1、打开文件速度较快
2、十六进制编辑功能强大
3、列操作是我见过最强大的,即使是Vim、Emacs也比不上它。
4、有代码提示功能,如果前面已经定义了一个变量abc,然后在后面输入a,再按Ctrl+空格键,即有提示abc。
5、有代码折叠功能。
6、配置信息比较全面。
7、功能比较全面,很多功能在别的文本编辑器中发现后,以为是新功能,但打开UltraEdit一看,这功能早已有了。
8、右键菜单比较强大。
缺点:
1、默认的设置中不支持Pascal语言
2、启动速度较慢。
3、是收费软件,虽然破解好找,但总感觉不好。
4、对中文支持不是很好,但最近的版本已经做得比较好了。
总结:
如果你想用来学习编程,或者使用列操作比较多,UltraEdit是一个不错的选择。
二、EditPlus
当时特别喜欢写点东西,但在公司写总是不太方便,于是就在家写。当时我还没有U盘,因此没法把公司的UltraEdit拷回家里用,用记事本吧,曾经沧海难为水,简直无法忍受。忽然想起了自己机子上的EditPlus,打开一看,原来也有不少功能,当初怎么没发现呢?可能是我用UltraEdit以后,知道了文本编辑器具备的多种功能,因此有的放矢,在EditPlus中也也找到了对应的功能。但当时EditPlus编辑中文时经常出现乱码,让我感觉特别难受。后来,买了U盘,又在网上下载了一个最新的EditPlus版本拷回家里,这下可好了,中文问题解决了,而且EditPlus不但启动速度比较快,界面也比UltraEdit好看一些。
对其优缺点我总结如下:
优点:
1、界面比较好看。
2、设置比UltraEdit好用,UltraEdit虽然设置很多,但要找到自己需要的还不容易,而且有的功能不在设置里面,而在其他里面,分类不太科学。
3、有代码完成功能。其实,UltraEdit的可以称为代码完成,而EditPlus的代码完成功能(Code Complete)我觉得称为代码模板更好一些,比如,输入if ,就自动完成为if () {}。
4、日期输入可以自己定制,UltraEdit好像没有这个功能。EditPlus则支持多种日期、时间输入。
5、支持网页预览。EditPlus中集成了IE,可以对编写的HTML文件进行预览。
缺点:
1、仍然是不免费。其实,软件作者也需要生存,收点钱在情理之中,可惜的是,他的收费与国际接轨(单位是美元),而我们的工资仍然是人民币,而且还没有升值多少,因此,对于中国人来说注册费用不是一个小数。
2、功能比较简单,和UltraEdit比较起来,EditPlus在细节方面功能比较少一些。
3、不支持代码折叠。不知道最新的版本是否支持。
4、更新比较慢。UltraEdit有名的更新快,很短时间内就会出一个新版本,但新版本经常不太稳定,而EditPlus则慢上很多。我都不知道上一个版本是什么年代了。
总结:
如果你想用来编辑网页,EditPlus是非常适合的。
三、Emeditor
其实,有了UltraEdit和EditPlus两大利器,我已经心满意足了,但我对文本编辑器的兴趣更浓了,经常上网看论坛,想发现更好的编辑器,有一天在一篇帖子里发现有人说他喜欢用Emeditor,于是我也找了个下载。
打开一看,感觉很一般,启动速度很快,界面虽然比UltraEdit好看一些,但总感觉不如UltraEdit适合编程,而且,竟然不支持多文档,每次打开一个新文件,它都要打开一个新窗口。后来,发现有一个窗口绑定功能,可以实现假的多文档,但实际上仍然是多个进程(这个问题现在已经解决了)。
但用了一段时间,发现它的好处了,首先,对中文支持比较好;其次,支持插件功能;再次,宏功能比较强大。于是,我从那以后到现在写文章都用它了。
其优缺点总结如下:
优点:
1、对中文支持比较好,可以统计中文字数。这一点UltraEdit和EditPlus都不支持,它们只能统计字节数。
2、有搜索高亮功能,这也是比较独特的一点,据我所知,其他文本编辑器只有Vim支持这一功能。
3、支持插件功能,用户可以自己编写插件。插件功能比较强大,如网页预览、字数统计、代码折叠、代码模板等功能都是用插件实现的。
4、虽然作者是日本人,但比较厚道,EmEditor是收费软件,但有免费版(功能上有一些限制),从事教育的用户还可以免费得到注册号。
5、支持Pascal语言。这点UltraEdit和EditPlus都不具备,需要自己写配置文件。
6、宏功能强大。支持VBScript和JavaScript。
7、启动速度很快,和记事本不相上下。据作者说,专门对启动进行过优化。
8、代码折叠功能还支持文本文件,比较独特,也比较有用,比如这篇文章,它就可以按一、二、三、四这样折叠每一小段,看起来一目了然。
缺点:
1、适合写文章,但不是很适合写程序,这点感觉不如UltraEdit。
2、很多功能用插件实现,虽然比较灵活,但也增加了程序的不稳定性,比如“代码折叠”功能就比较容易出错,虽然不影响程序,但经常出现报错对话框也不是好事。
3、和有些软件有冲突,如搜狗拼音等,不过搜狗拼音是后面出的,应该是它的问题而不是EmEditor的问题。
4、正则表达式支持不如UltraEdit。
5、对大文件支持不好,过大的文件(数十MB)无法打开。
总结:
Emeditor适合于写文章、编写简单的程序和配置文件。如果你会编程,还可以为其编写专门的插件(需要用到VC,有点难度,不过好在作者在其网页上提供了一些插件的源码,我们可以照猫画虎)。
四、Emacs
世界上的哪个文本编辑器最强大?以前我以为是UltraEdit,后来才知道是Emacs和Vim,至于它们到底有多么强大,我却没有感觉。
由于泡BBS比较多,我听说了Emacs这个强大得无以复加的软件。于是,怀着仰慕的心情把它下载了下来,但发现很难用。看帮助也看不出什么门路。后来,发现了一本《24小时学会Emacs》的电子书,是英文版的,吓了我一跳。因为我看过很多《24小时学VB/Java/Linux》之类的书,心想,用24小时学编辑语言都已经足够了(当然,事实上是远远不够的),用来学Emacs岂不是浪费时间。为什么没人写一本《24小时学UltraEdit/EditPlus/EmEditor》的书呢?因为用这三种软件根本不需要花那么长时间学(当然,要加上其中某些功能引出的学习内容,如正则表达式、VBscript等等,那24小时可能还不够)。为了学好Emacs,我硬着头皮看了几天那本书(英文版)终于学会了一些用法,但感觉费了这么长时间,学习这些文件打开、关闭、插入、删除之类的基本功能,有点得不偿失,因此后来就没学了。
Emacs的优缺点总结如下(比较片面,我毕竟用得不熟悉):
优点:
1、打开大文件速度很快,我做过实验,一个24M的文件,用Emeditor打开就死了,UltraEdit用了将近一分钟,EditPlus更久一些,不过好处是有个进度条,大家心里有点数。而Vim和Emacs速度都很快。
2、自定义功能强大。Emacs自定义的特性是所有文本编辑器中最强的,即使是Vim也难以望其项背。
3、免费,而且还是开源。
4、支持多个操作系统。
缺点:
1、入门比较难,学Emacs我用的时间最久,但学到的最少。
2、对中文输入法支持有些问题,我用的极点五笔在Emacs(不是最新版本,最新的我没试过)中有时会有些问题。当然,西方人的软件对中文支持好的不多。
3、启动速度比较慢,比UltraEdit都慢。也许是功能太强大的缘故吧:)不过Vim启动还挺快的。
总结:
Emacs适合于编程,处理比较大的文件,而且由于其强大的扩展性,还可以用于写日记、写邮件、日程安排之类,但如果你只想写点小文章或编点小程序,我不建议你用Emacs。
五、Vim
既然学不会Emacs,那我就学Vim吧。为什么要学它?因为我当时对Linux比较感兴趣,想进行自学,但要在Linux下编程,必须熟悉编辑器的用法,当时还不知道Eclipse,所以只能学习Vim和Emacs了。
我下载了一个Vim,装上一看,也不会用。第一眼看它比Emacs还难用,Emacs好歹进去就能输入,而Vim则进去以后只能看,必须按某个键才能进入编辑状态。哪个键呢?我当时不知道。于是,在键盘上乱按,正好碰上了i键,于是就进去了。进去以后,仍然不太会用。于是,开始看联机的帮助,说句心里话,Vim的帮助比Emacs好懂多了,我边看边操作,用了几天时间,慢慢学会了常用的功能,而且还掌握了其中的一些特色功能,比如说按dd删除一行。
但入门以后,我就没有多少进步了,因为毕竟是从Windows开始用的(其实我最早用的是Dos下的Edit程序),对Vim那种操作方式有种天然的抵触情绪,所以也就没怎么深入学习。
Vim的优缺点如下:
优点:
1、支持多种操作系统。
2、打开大文件速度较快,在大文件中查找的速度也很快,远超过UltraEdit、EditPlus、Emeditor。
3、免费,开源。
4、有搜索高亮功能,Emeditor也有此功能,可能是向Vim学的,毕竟Vim年代久远了。
5、支持各种编辑语言。你用UltraEdit、EditPlus、Emeditor等软件,经常因为某种语言不支持而发愁,而Vim实在是考虑得太全面了,基本上每种语言它都支持,真找不到哪种不支持的(当然,中文编程语言它可能不支持:P)。
6、功能强大,基本上其他文本编辑器有的功能它都有,没有的功能它也有,真是个伟大的软件(也许Emacs更伟大,但我不喜欢)。
缺点:
1、比较难学,但比Emacs好学一些。
2、虽然有菜单,但windows用户第一次上手虽然会很难。
3、界面不太好看,当然看多了会日久生情的,但Windows用户一般不会喜欢它的。
4、键盘命令太多,用户必须经过长期使用才能熟练。
总结:
Vim适合于编程,写各种配置文件,处理各种大小的文件。
六、TextPad
这个软件是我在水木的新软版里的精华区找到的,那是一篇老帖子,但仍然勾起了我对它的兴趣。那一段时间我没工作,经常去网吧上网,下载一些学习资料、小说拷回家看,由于下载的东西格式比较乱,需要先整理一下,所以我下了个TextPad,用它整理,它的界面比UltraEdit好看一些,功能似乎也不少,但使用起来让我很失望。只不过几百k的一个文本文件,在它里面自动换行,竟然有几秒钟之久!而UltraEdit、EditPlus、Emeditor等软件则马上可以换行,根本不需要等。于是,我也不想用它了,没有把它拷回家。
TextPad的优缺点分析如下:
优点:
1、界面比较好看,以白色调为主。
2、功能比较全面。
缺点:
1、需要付费。
2、自动换行功能做得较差,速度很慢。
总结:
TextPad比较适合编程和写配置文件,其它的好像不太适合。
七、NotePad++
有一段时间,我找了个比较清闲的工作,整天无所事事,于是就在网上找些软件下载,很快发现了NotePad++,这是一个开源软件,于是我下载了试用,感觉功能也挺强大,但不是很适合我。我还下载了代码研究了一下,感觉比较难,看不懂:(
优缺点分析如下:
优点:
1、代码折叠功能强大,比UltraEdit、Emeditor等都强。
2、是开源软件,可以免费使用,也可以自己定制需要的功能。
3、支持插件功能。
4、搜索功能比同类软件考虑全面,如支持某字符统计、标记等。
5、支持代码提示功能。
6、支持Pascal语言。
缺点:
1、对中文支持不好,搜索功能不能搜索中文(最新的3.9可以)。
2、界面比较难看。
3、有的功能分类不科学,用户经常使用的插入当前日期功能竟然在插件中实现,这本来只是一句代码的问题。
4、打开大文件比较慢(据说重新编译其中的一个dll可以改善此功能)
总结:
NotePad++用来写程序还是比较好的,写文章就有些欠缺了。
八、Pspad
有一段时间,UltraEdit更新特别频繁,但快了就容易出错,每个版本都会有几个小bug,于是有人对它感到失望,说我还是用Pspad吧,我看到此处,心里一动,于是下了个Pspad试用了一番。
这个软件是免费软件,是捷克的一个Delphi程序员的作品。不需安装,直接解压即可使用。
我用了几天,感觉功能还是比较全的,但也有一些缺点,最后决定,将它作为EditPlus的补充,因为它的功能完全超越了EditPlus,当然和UltraEdit还有一些距离。
Pspad的优缺点分析如下:
优点:
1、免费,绿色软件。
2、作者更新比较快。
3、支持代码模板、代码提示、剪贴板循环(这个功能好像只有Vs.net有,UltraEdit虽然支持多个剪贴板,但也不如这个功能好用)。总体上说,功能比较全面。
4、集成了一些常用的功能,如取色、表达式求值等等。这些功能一般软件都不具备。
5、支持多种语言,如中文、英文、西班牙文等。
6、支持十六进制编辑,但速度比UltraEdit慢。
7、支持功能扩展,用vbscript和javascript实现,好处是编码比较简单,缺点是扩展能力有限,不如Emeditor。
缺点:
1、不支持C#语言,需要自己进行配置(作者可能不喜欢C#,只喜欢Delphi)。
2、不支持代码折叠,据作者自己说,近期内也不打算增加此功能(这可是他亲自在自己的论坛里说的,我亲眼所见)。
3、启动比较慢,比UltraEdit还慢一些,但比Emacs快。
4、对自动换行支持不好。目前,只有一种换行方式:在指定列换行,而Emeditor可以按指定列换行,也可以在窗口边缘换行,其他的类似软件大多也支持窗体边缘换行,而PsPad就是不支持,据说是它的内核有些问题。
5、列操作不如UltraEdit(其实,列操作比得上UltraEdit的软件几乎没有,反正是我没遇到过,即使是大名鼎鼎的Vim在这点上也稍逊风骚,但既然想用Pspad代替UltraEdit,总得考虑一下这点啊)。
总结:
作者将Pspad定位于程序员的专用编辑器,因此,对功能上考虑得比较全面,而且又是免费软件,因此总体上可以说是非常优秀,用来编程、写网页是很合适的。如果你想用它来写文章,感觉会不太合适。如果你对启动速度比较在意,我不建议你使用此软件。
九、其他
一会儿功夫就写了这么多,我也该歇歇了。下面就写得简单一些,毕竟,下面的软件,我用得不太多,而且功能上的亮点也不是很多。
1、NoteXPad,中国人用Win32汇编写的文本编辑器,界面比较好看,但功能较少,而且启动速度较慢(功能少可以理解,但速度慢我就不能理解了,功能少了,需要加载的项就少,而且是用汇编写的,速度慢成这样真说不过去)。有的版本的Total Commander将其集成为默认的文本编辑器,我觉得还不如用Notepad++或Emeditor代替之,这二者的启动速度比较快。
2、Turbo Pad,一个开源项目,支持多种语言,支持代码折叠,代码模板等功能,但缺点是不能打开含有中文的文件(这可是个大问题:(),用来写程序还比较适合,但老天保佑你不会遇到中文。
3、Editminus。这个软件的作者也是中国人,由于经常在Linux下工作,发现文本编辑器太不好用,于是一气之下,编了这个软件。这个软件的功能和普通文本编辑器相差不大,对代码折叠支持得比较好(据作者自己说是采用了和NotePad++相同的控件),启动也比较慢,但支持windows和Linux(有了跨平台的特点,启动慢点也可以接受了。)。目前的版本是0.3(0.2的启动速度还比较快,0.3就慢了,但功能多了),是免费软件。
4、sc1。这个软件也是免费、绿色软件,英文界面,优点是只需要一个.exe文件就可运行。
5、绝地程序编辑器。中国人用Delphi编写的软件,开放源码,但功能上没有太大的特色(代码模板算一个)。
6、Crimson Editor。韩国人编写的一款仿UltraEdit的免费软件,界面、列操作功能与UltraEdit类似(列操作功能与UltraEdit的可能就只有它了),启动速度也比较快,缺点是从2004年开始就没有更新了,所以我现在只用它做列操作。
上次,我发表过一篇名为《我使用过的文本编辑器及其历程》的文章,后来仔细检查了一下,发现有一些错误和遗漏,在此进行补充说明。
一、以前错误的地方
1、Notepad++
作者是台湾人,现在法国(不清楚有没有入法国国籍)。搜索中文时需要选中“正则表达式”选项才可搜索。
2、PsPad
新版本支持C#,但需要手动添加(配置文件已有,但新建界面中没有)。
3、Emeditor
可以对菜单实现定制功能,定制的内容非常详细。比如说你可以选择是向上移动一个逻辑行还是物理行,对应于Vim中的j和gj命令。
新版本的Emeditor宏不仅支持vbscript和javascript,还添加对perl、python、ruby的支持,使用更加方便。
4、NoteXPad
其中有一个选项,显示启动画面,将其取消后启动速度将会大幅提高,除了第一次启动稍慢以外,以后的启动速度和NotePad++不相上下。
二、以前遗漏的地方
1、NotePad2,是个小巧的文本编辑器,只有一个exe文件,这篇文章就是用它写的。只需要一个可执行文件即可。
2、Scite。功能比较强大,而且开源。缺点是配置全部用配置文件实现,而没有相关的界面,因此配置比较困难。前面介绍过的sc1也属于由它派生出的软件。
3、JEdit。是用Java编写的开源文本编辑器,优点是可以跨平台,而且启动速度比较快(Java编写的程序启动这么快的很少见),扩展能力也比较强,缺点当然也有,一是菜单安排不算合理,二是字体选择和行号功能好像有些冲突,改字体后行号自动不显示,再选择显示行号,则字体又变回去了。
4、Programmer’s notepad2。这是一个用C++编写的开源文本编辑器,启动速度很快,界面很好看,也有一点特色功能,比如TextClip功能,直接点击就可以把对应的语句插入当前文本,相当于代码模板功能(其实更类似于控件功能)。缺点是功能比其他的编辑器少一些。
5、Win32Pad。优点是启动速度快,不写注册表,原版是英文的,也有汉化版,并且很小,只有37k。
以我的感觉,NotePad2、Win32Pad、NoteXPad这三个软件属于一种类型的,都是以代替记事本为目的,功能比较简单,只在记事本的基础上稍微作了一下扩展,强调启动速度(其他的编辑器功能则比较强大,启动速度快的只有NotePad++和Emeditor了)。其中,NoteXPad的首次启动速度最慢(当然还是可以忍受的),界面最好看;NotePad2体积最大(500多k,其他两个都只有几十k,我分析是因为这个软件是用C++写的,而其他两个是用Win32汇编写的),配置信息写注册表(这点我不喜欢,我觉得可以学ToDoList,让用户自己选择是保存到注册表还是配置文件),功能最多(如括号匹配等其他两个就不具有);Win32Pad体积最小,启动速度也快,缺点是功能较少(如字数统计功能这三个软件中就它不具备),感觉它比记事本强的一点就是行号和自动缩进,至于能打开64k以上的文件,对于xp来说连记事本也能实现。从总体上权衡,还是NotePad2好一些,如果你不喜欢写注册表,就选择NoteXPad吧,如果只是想用来替换记事本而不需要什么功能,就选Win32Pad吧。
6、Visual SclikEdit。这个软件我觉得不应该算作是文本编辑器,而是一款专门的程序处理软件,适合写程序、管理软件项目、分析程序等,功能非常强大(从体积也能看出来,11.0的安装包竟然有60M,从这一点就能知道和其他的不是一个档次),支持多种快捷键(如Emacs、Vim、VS.net等),有强大的编辑功能(比vs.net2003强,可能比2005还略强点),而且可以跨平台。最大的缺点是这是个收费软件,正版的一般人用不起:(
自从发表《我使用过的文本编辑器及其历程》一文之后,总觉得写得不够完善,于是,一边上网搜索,一边自己试用,又试了几个软件,目的只有一个:把众多的文本编辑器尽可能多地介绍给大家,让大家有所选择。
新试用的几个编辑器:
1、EditPad
这个软件主要分两个版本:Lite版和Pro版,前者免费,后者收费。我只用了Lite版,感觉没什么特色,在功能上和NotePad2差不多,Pro版的功能可能强一些,而且还支持Email。
2、TextPro
这是一个网友介绍给我的,我到网上搜索了一下,下了一个。发现其名称竟然就是“文本处理”,图标也就是这四个字。这个软件的功能和DreamEdit比较类似,适合给文本作简单的排版,也具有自动换行功能(DreamEdit无此功能),而且还提供了简/繁体转换功能,支持正则表达式,缺点是比较老,好像最新的版本是2001年的,而且竟然没有Undo功能。
3、MadEdit
这是一个台湾人编写的开源软件,界面与TextPro差不多,但功能强了很多,优点是:
(1)打开大文件速度快,好像比UltraEdit还快一些。
(2)列操作功能强大,和UltraEdit差不多,远强于其他同类软件。这种列操作方式我只见过三个软件具有,UltraEdit,Crimson Editor,MadEdit。
(3)支持简/繁体转换功能。
(4)支持十六进制编辑。
(4)支持多种编程语言,界面支持英、简、繁。
(5)可以统计选定区字数。
缺点是:
(1)作者的审美观不太好,如果选择显示空格和换行符,会发现这两个符号很难看。这倒是小事,无伤大雅。
(2)设置不太全面,语法高亮时的设置也不是很好。
(3)对于编程方面支持不是很全面,不支持代码折叠,远逊于UltraEdit,和Emeditor也有不少差距。
(4)和极点五笔有些小冲突,但不会导致软件故障而退出。
(5)高亮当前行功能很不好用,怎么设置也不爽。
总结:这个软件比较适合文本处理,可以在一定程度上代替Emeditor。
4、Editor2
这个软件也是记事本的替代品,体积小(52KB),功能比较简单,支持书签功能,界面类似写字板,启动也很快,如果不喜欢NoteXPad,NotePad2,Win32Pad,可以选择它。
5、NewEdit
这是国内的一个高手用Python写的免费软件,可跨平台。用来编写Python程序比较方便,其他语言也支持,支持插件、代码折叠、代码模板等功能,是一个不错的软件。缺点是启动比较慢,可能是Python的缘故吧,Python的效率一向不是很高。
用了那么多的文本编辑器,要找一个完全让自己满意的还真的很难,看得越多,越难选择,也许是挑花眼了吧:P。现在,我把自己理想中的文本编辑器写出来,既然是理想中的,难免要求有点高,也许这样的软件永远不会有,但我的理想却一直存在。
一、总体要求
1、最好是免费软件,如果开源就更好了。需求程度:★★★★
毕竟现在赚钱越来越难了,而一个共享软件至少得几十美元,折换成人民币就是一个不小的数字了。虽然我也是程序员,仍然希望文本编辑器免费。对于开源的要求看似有点过分,其实我是出于这样的考虑:像Vim的作者那样,能坚持数年开发一个免费的文本编辑器的人实在太少,很多人刚开始开发时出于兴趣,但后来由于各种原因,不得不放弃了对软件的更新,比如DreamEdit、TextPro、Crimson Editor都属于此列,如果开源,则可以给后人自己开发的机会。这两点要求虽然比较高,但很多软件都满足,如免费且开源的软件有NotePad++、Turbo Pad、NotePad2、绝地程序编辑器、JEdit等,光免费不开源的也有PsPad、NoteXPad、DreamEdit、TextPro等。
如果是收费软件,可以像Emeditor、EditPad那样提供免费版给用户,在功能上有一些限制也可以。
2、界面尽量好看一些。需求程度:★★
用了这么多软件,我最喜欢EmEditor和Programmer’s notepad2的界面,尤其是EmEditor,用得最多。
3、启动速度比较快。需求程度:★★★
我使用过的文本编辑器中,启动速度比较快的应该是NotePad2、Win32Pad、NotePad++和Emeditor了,这几个软件启动速度和记事本不相上下,启动速度比较慢的就是PsPad、UltraEdit、Emacs了,其中Emacs最慢。但这个问题,又得分两方面来看,像NotePad2、Editor2这种单文档软件,是我单纯用来代替记事本的,每天得运行无数次,启动速度至关重要;而UltraEdit、Emacs之类的多文档软件,每天只要运行一次就够了,因此,这类软件的启动速度对我影响不大。
4、打开大文件快一点。需求程度:★★★
我一般编辑的文件从几K到几M,都不算大,打开速度影响不大。但有时要编辑比较大的软件,几十M乃至几百M,这对软件要求就比较高了,MadEdit在这点上做得很好,Vim、Emacs这样的就更不用说了。
5、支持十六进制编辑。需求程度:★★★
这个要求比较特殊,但有时改程序用得上。Vim、UltraEdit、PsPad、NotePad++(用插件实现)、MadEdit都支持此功能。
二、编辑方面
1、对中文支持好。需求程度:★★★★★
具体包括以下几点:
(1)支持中文的搜索、替换。这点目前大多数软件都可以实现,即使是NotePad++,搜索时只需要选中正则表达式就可以搜索中文了(这个比较奇怪,中文和正则表达式ms没有太大的关系)。Turbo Pad好像不支持。
(2)添加、删除汉字时不会出现乱码。这个问题旧版本的EditPlus有,其他的目前还没遇到过。
(3)列操作时不会出现乱码。这个问题旧版本的UltraEdit有,其他的没见过。
(4)支持中英文混排。这个问题很多软件都支持不太好,比如NotePad++,如果中英文混排时会有莫名其妙的换行;EditPlus也有些问题,而且有时在空格后面会自动换行,看起来很难看;再比较双击中文中的一个英文单词,如“我觉得EditPlus不错”这句话,EmEditor、MadEdit将会选中“EditPlus”这个单词,而NotePad++则会将全段的文字全部选中(它不认识中文),NotePad2更奇怪,它会选中一部分文字,也不知道是怎么分开的。
(5)支持简/繁体、全半角转换。EmEditor、MadEdit这两点全支持。
(6)支持中文空格缩进。这个功能现在只有EmEditor具备。
(7)可以统计字数。最好能统计中英文字数、单词数。这点Emeditor和MadEdit支持的最好,NotePad2虽然可以统计,但只能统计整个文档中的,不能统计选定文字;UltraEdit、Emeditor、Vim只能统计英文字数、单词数;PsPad本身没有此功能,但作者提供了一个脚本,可以实现。
2、对编程支持好。需求程度:★★★★★
具体包括以下几点:
(1)支持多种常用的编程语言。UltraEdit和EditPlus都不支持Pascal;PsPad默认竟然不支持C#(可以自己添加);NewEdit也不支持C#,但这个软件主要针对Python而做。我觉得我理想中的编辑器应该支持Pascal、C++、C#、Java、INI、HTML、SQL这几种语言。Vim这点做得最好,好像没什么语言它不支持。
(2)支持代码折叠。最好支持三种折叠方式:缩进折叠、语法折叠、自定义折叠。Vim对这三种都支持;EmEditor用插件支持缩进折叠和语法折叠,但有时会报错;NotePad++、Edit-minus对语法折叠支持最好,但不支持其他类型的折叠。其他NewEdit、JEdit等也支持语法折叠。
(3)支持代码完成。这个功能有很多名称,有的叫Code Complete,有的叫Code Insight,但有的软件将Code Complete视为代码模板。我的要求就是,按某个快捷键,可以弹出个菜单,选择输入某变量(该变量在前面出现过)。UltraEdit、PsPad、NotePad++、Vim、Scite都具有此功能。其中Scite可以设置为自动弹出,不需要按快捷键,和VS2005有点像。
(4)支持代码模板。有的地方叫Code Clip。是指按下某几个关键字再按快捷键,就可以弹出一大段常用代码。比如输入if,就可以自动完成为:
if ()
{
}
我最早在Eclipse中发现此功能,觉得很有用,后来在Delphi中发现也有,更是极大地提高了我工作的效率。
这项功能PsPad支持,Vim、Scite有个名叫“缩写”的功能,也能支持,极地程序编辑器也支持。EditPlus中是自动弹出,但这有点不太方便,我觉得还是用快捷键好。
(5)可以自动完成括号、引号等的配对。这项功能大多数软件支持,在此不多说了。
(6)可以回到上次编辑的地方,想当于VS中的Ctrl+-功能。此功能UltraEdit、EmEditor、JEdit都具备。
3、支持插入日期。需求程度:★★★★★
我经常需要在文件中插入当前日期,所以对此功能要求比较迫切。我使用过的软件之中,EditPlus做得最好,菜单中有好几项,分别对应长时间、短时间、长日期、短日期等,非常全面;UltraEdit、EmEditor、NoteXPad、Editor2等软件都可以插入日期加时间,但不能单独插入,也不能设置输出格式;PsPad可以设置输出格式,Vim也可以设置,但要自己写配置文件,有点难度。NotePad++、NotePad2等插入日期时,是时间在前,日期在后,如“13:23:32 2006-06-28”,也不能设置,和我的习惯不符。
4、支持网页预览。需求程度:★★★★
由于工作需要,我经常用文本编辑器打开网页进行编辑和预览,感觉非常方便,而DreamWeaver等软件虽然也有此功能,但毕竟太大,启动和预览都比较慢。
EditPlus、EmEditor都支持网页预览,其他软件好像没有此功能。
5、支持搜索高亮。
这个功能目前只有Vim、EmEditor、NotePad++具备,即高亮你要搜索的内容,看起来一目了然。
6、搜索功能强大,支持正则表达式,并支持列表、统计等功能。
正则表达式现在很多软件都支持,只是支持程度不一样,其中最强大的应该算是Emacs和Vim了,UltraEdit的也不错,EmEditor的似乎弱了一点。
至于列表、统计功能,只有NotePad++和PsPad支持,其中,后者支持得更好一些。
7、支持多剪贴板。
这个功能在需要反复修改代码时非常有用,UltraEdit支持10个剪贴板,而PsPad支持剪贴板循环,我觉得后者更好用一点。其他软件则不太清楚。
三、附加功能方面
附加功能有的看似不重要,但在使用过程中有它真是太好用了。总体上来说,我觉得PsPad在这一点上做得比较好。
1、进制转换。
UltraEdit、PsPad都具备此功能,后者做得更好一些。
2、选区求和。
UltraEdit、PsPad具备此功能,后者做得更好一些。
3、表达式求值。
只有PsPad具备此功能。
4、Email发送。
具备此功能的有EditPad Pro、Emacs(需要自己写配置文件)、DreamEdit,但DreamEdit的这项功能在我这边一直无法正常运行。
5、文件浏览器。
UltraEdit、EditPlus、Edit-minus、EmEditor(最新版本)、PsPad、Vim都具备此功能。
四、可扩展性。
在这方面,最强的据说是Emacs,以至于很多人把它称为操作系统,但我不会用。:(
1、宏。
这点Vim和EmEditor都很强,EmEditor的宏功能支持VBScript、JavaScript、Perl、Python等多种脚本语言,非常强大。Emacs的Lisp也很强,可惜没用过。
2、插件。
EmEditor的插件功能最强,如行号、代码折叠等功能都可以用插件实现;而PsPad,插件支持VBScript和JavaScript,能实现的功能和EmEditor的宏差不多;NotePad++的插件功能也比较强,可以实现十六进制编辑等功能,可惜没有提供接口。
五、配置方面。
这点上做得最差的要数SciTe了,虽然功能很强大,但配置文件完全得自己写,连一点界面都不给,即使是Vim,也提供了一点简单的配置界面。
我对配置的要求是:分类准确、功能全面。
UltraEdit的配置非常全面,但有用的不多;EditPlus可以算是简洁,而太不全面;EmEditor的平衡把握得不错;Vim、Emacs主要得靠配置文件;PsPad的配置方法也不错,既能用界面设置,也提供了直接编辑的接口,但似乎不太全面。
写了这么多,发现自己最喜欢的编辑器还是EmEditor,其次是PsPad,MadEdit我是从昨天开始用的,也很喜欢,只是目前还比不上前二者,但它们还算不上完美,也算不上理想,希望自己有机会能编个好用的文本编辑器出来,虽然这个机会不知道什么时候才能有。如果有人想编,希望本文能够给他一个很好的借鉴
这是一篇转载的文章,和我自己的比较一下,呵呵:)
推荐免费的文本编辑工具
Wednesday, November 30th, 2005
DevZoo 列出了一个 Windows 下免费文本编辑软件的清单,并附有简介,几乎称得上是一网打尽了。但不足的是,许多简介只是照抄作者网站上的介绍而已,一眼看过去并不知道哪些软件是真正好用,哪些是滥竽充数,所以我选择了几个风评较好的作更进一步的介绍。
ConTEXT
界面平常,功能中规中矩。用了一段之后我的疑问是,虽然主要是用来写代码的,可也不至于设置了自动换行也没反应吧?
Cream
现在我使用的就是 Cream,所以介绍得详细一点:
安装之前需要修改 install.bat 文件,将 Vim 的安装路径按照实际情况进行更改,然后在原 Vim 的启动快捷方式后增加“-U NONE -u [DIR]\cream\creamrc”的参数,其中 [DIR] 为 Vim 的安装目录。其他的许多设置启动后在菜单中就可以设置了。
如果不习惯没有 Vim 的高级功能,可以打开“设置-》偏好-》专家模式”。之前在 vimrc 文件中设置的参数都会失效,可以转移到 creamrc 文件中。剩下的,自己去 Cream 所在的目录中摸索各个 vim 文件吧。
它对原来 gVim 的界面进行了大改造,许多设置和功能可以直接在菜单中找到,还有新增功能,编辑模式的默认设置也更改了,比较贴近常用的 Windows 编辑软件,实乃我等菜鸟之福音。
值得注意的是,由于使用了不少的脚本来改进界面、增加功能,Cream 占用的系统资源要远远超过 Vim,因此除了担心使用 Cream 会影响深入学习 Vim 的人之外,优先节约系统资源的人也有理由放弃这个工具。
Crimson Editor
以前使用过这个软件,对中文的支持还不错,却因为和智能狂拼2严重冲突而弃用,另一个让人觉得不够完美的地方是,自定义各类文字的颜色时不能够指定背景色,当然,这是和 EmEditor 这样的付费软件作比较,未免有些不公平。
除此之外,这款软件没有多少可以批评的地方了…嗯…好吧…其实…我想说,那个狗头的图标未免太丑陋了一点…
Emacs/XEmacs
和 Vi/Vim 齐名的软件,但可耻的是我首先被 Vim 拉拢了…:P
这类软件的阴险之处在于,由于功能异常强大,内涵异常丰富,要摸清楚它的底细简直是不可能的,因此,一般只会有人夸它的好,没人敢说它的坏话。如果你对它的第一印象很好,那么尽管放心大胆地深入学习,保证不会让你失望,它们绝不只是一个文本编辑工具这么简单,而如果是相反的情况,那么还是早早收手换一个工具的好,否则它会不断地打击你的信心。
经常有人争论 Emacs 和 Vim 哪个更好,结论往往是适合自己的才是最好的。作为一个注重人机界面的用户,我觉得还是只向经常编辑代码的人推荐比较好…
Vi/Vim/gVim
Cream 只是个外壳,它才是灵魂。
喜欢对人机界面设计评头论足的我总觉得这实在是个让包括我在内的新手频频抓狂的软件,不支持我喜欢的 Georgia/Times New Roman 字体、不支持拖拽编辑、没有 tabbed MDI、基本上什么设置都要找到帮助文件找到配置的写法再自己写入配置文件并祈祷不出问题,虽然 GUI 经过了改进,但如果要我选择学习曲线最陡的流行软件,估计就是它了 😛
当然,一款人机界面如此之差以至于不但有 GUI 改进版,还开发了专门的外壳的软件能够受到众多人的衷心拥护不是没有道理的,用它网站上一句话来说,“Vim isn’t an editor designed to hold its users’ hands. It is a tool, the use of which must be learned.”你越是深入学习它,就会越觉得它的功能强大,最后觉得其他工具都不称手。
jEdit
最令人吃惊的一点是,这个软件是用 Java 写的。不是我对 Java 有偏见,而是--恕我孤陋寡闻--轻量级的工具软件用 Java 做得这么好的实在是少见。如果不是无论怎么设置字体也无法同时正常显示菜单、工具栏、文件浏览器和正文中所有的中文,和需要另外下载 Java,我一定会把它作为首选的文本编辑工具。
最近有许多人收藏了 Jesse Crouch 的一篇文章,其中就强烈推荐 jEdit。
LCC
这个,把它卸载了之后,我已经忘记它有什么特性了…可能稍后再补上吧,如果没补上也不要怪我,反正不在推荐之列。
Notepad++
平心而论也是个相当出色的软件,但是能够自定义设置的地方太少,而且 language 菜单太长、plugins 菜单组织得很差劲…总体处于比上不足比下有余的位置。
另外,我宁愿选择 Crimson Editor 的狗头也不愿意面对 NPP 的避役…
PSPad
如果没记错的话,很久之前它对中文的支持还很差,所以一直没有再试过,这次发现不但在中文支持方面大有长进,而且功能增强了许多。如果实在用不惯 Emacs/Vim,那么它成为首选是没问题的。
可惜的是,随着功能的增强,它占用的系统资源也增加了不少。
SciTE
一个语法选项十分丰富的最好是专门用于各类代码编辑的工具,也是备受好评。
MadEdit
界面朴素,但是功能不弱,16进制和列块模式可以替代 UE。
EmEditor
最后说一说为什么我总是对 EmEditor 这个收费软件念念不忘,原因是它的一些优点其他软件都没有能够做到:
首先是界面设计简洁明快而很耐看,一些细节例如图标、回车换行等控制符的淡蓝色符号等等,风格统一,配色协调,所以即使大部分的窗体和一般的 Windows 窗口没什么不同,整体的感觉却不在一个档次上。
其次是丰富的自定义设置,其中最方便的又属设置第 n 次搜索时搜索结果的高亮字体,如第一次的搜索结果在全文范围内用绿色背景表示,第二次搜索之后就变成明黄色背景,这样多次搜索之后每次的搜索结果都能够一目了然。
第三是和 Windows 系统、中文的兼容做得很好。其他一些软件因为跨平台或者开发者不使用亚洲双字节文字的缘故,在这些方面总有这样那样的不足,功能强大如 Emacs、Vim 也未做到最好。
第四是占用资源少、启动速度快,刚开始接触它的时候对这一点是非常满意的。V4的版本因为加入集成多窗口的功能而降低了程序运行的效率,从网站的宣传来看,这个问题到了 V5系列已经得到了解决。
第五是常驻托盘的 EmEDTray 有自定义的功能,例如我就设定右键单击托盘图标是“新建并粘贴”,然后左键双击是“新建文档”,左键单击的菜单中可以打开最近编辑过的文件和访问过的目录,可以在文件中查找等等,同样是收费软件的 UE 虽然也有托盘图标,但仅仅是用来最大化最小化的。
随时更新的文本编辑工具推荐列表。