首页
社区
课程
招聘
[讨论]我理想中的文本编辑器
发表于: 2010-2-11 16:20 6577

[讨论]我理想中的文本编辑器

2010-2-11 16:20
6577
以前看过一个帖子是介绍成千种的免费文本编辑器。让人摸不着头脑。无奈本人用的文本编辑器不是很多。不能分享出太多经验。今天看到一篇文章。希望能起到抛砖引玉之效果。祝愿大家找到适合自己的文本编辑器。文章如下。感谢文作者的分享。

我理想中的文本编辑器

kinghoo原创

    用了那么多的文本编辑器,要找一个完全让自己满意的还真的很难,看得越多,越难选择,也许是挑花眼了吧: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我是从昨天开始用的,也很喜欢,只是目前还比不上前二者,但它们还算不上完美,也算不上理想,希望自己有机会能编个好用的文本编辑器出来,虽然这个机会不知道什么时候才能有。如果有人想编,希望本文能够给他一个很好的借鉴。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (18)
雪    币: 615
活跃值: (1192)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
嘻嘻 小小水彩笔
2010-2-11 20:46
0
雪    币: 4902
活跃值: (120)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这个
俺觉得要求确实太高了。。。
2010-2-12 09:28
0
雪    币: 209
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
呵呵,看来很多程序员对编辑器要求并不是很多,回帖的这么少。
这篇文章应该是很老的,相信作者应该有新的感悟了吧。
我也和作者差不多,用了各种编辑器。现在感觉,如果不考虑IDE特性的话,VIM应该是最强了,可惜人笨,用的也不怎么地。其次,SciTE、notepad++、notepad2、AkelPad都是不错的。如果考虑IDE特性的话,呵呵,那高端的编辑器也比较多了,用的不多,也不提了。
现在还是在徘徊,大概是太爱折腾了吧,哈哈。
祝大家新春愉快。
2010-2-12 11:54
0
雪    币: 201
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
俺没研究的那么深,最简单的记事本。
2010-2-12 14:32
0
雪    币: 241
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
我也用过不少编辑器,UltraEdit是必装的(如果要支持Pascal只需到它们的网站下载相应的词法分析的文件即可,默认没有提供).一般编辑的以前用NoteXPad,现在用NotePad2,有时机子上还装了Emeditor,挺好的.曾经用过的有EditPlus,TextPad(挺强大的),Notepad++等
2010-2-14 07:45
0
雪    币: 240
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我也最喜欢Emeditor。
2010-2-18 11:18
0
雪    币: 40
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
我也编了一个特别简单的那种,还不是完全自己编的,后来一直用这个,感觉还可以
记事本.part1.rar

记事本.part2.rar
上传的附件:
2010-4-27 23:24
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
如果能达到这些要求,无疑是个很优秀的软件哟。
2010-6-4 19:09
0
雪    币: 563
活跃值: (95)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
UltraEdit不错
2010-6-12 13:17
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
看完了,好累,不过我感觉似乎要求过高了,软件应用应该是相对而言
2010-6-14 20:46
0
雪    币: 558
活跃值: (46)
能力值: ( LV2,RANK:16 )
在线值:
发帖
回帖
粉丝
12
据说vim和emac很强悍的说
2010-6-15 01:32
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
我就用NoteXpad.
2010-6-16 07:51
0
雪    币: 21
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
楼主好熟习的名字,不知是否巧合
2010-6-21 15:40
0
雪    币: 255
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
最佳的我认为是VS IDE + VAX + Viemu

要是viemu支持老的vc6 ide就好了
2010-6-26 12:37
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
一直用EmEditor,不过还是很想用VIM,可惜没有决心啦!!!
2010-6-26 22:37
0
雪    币: 234
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
一直用UltraEdit 比较习惯了~其他的都要加一大堆插件或者记很多命令 所以懒得弄
2010-6-29 12:00
0
雪    币: 204
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
一直都用的UltraEdit
2010-6-30 12:52
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
我比较喜欢用UE
2010-6-30 15:26
0
游客
登录 | 注册 方可回帖
返回
//