加载中…
正文 字体大小:

译|评选最佳文本编辑器-UltraEdit (中)

(2006-12-04 08:18:52)
分类: VIM/text
(xbeta译,出自善用佳软。全文下载 http://www.live-share.com/files/108420/editors.zip.html

令人喜爱的功能

以下各项功能,是我们认为UltraEdit做得相当好的地方。基本按照重要性从高到低的顺序进行排列。在评价其他编辑器时,将分析它们对如下功能的实现程度。

  • 无限撤消 - UltraEdit在这一日益普及的功能上做得很好,可以无限次撤消,包括撤消保存点,这一点非常重要。如果你的编辑器不支持此功能,就抛弃它,换一个新的吧。
  • 速度 - 回想1980年,我在等待c语言编译器完成工作时,会趁机去吃饭。事实上,并没有说得过去的理由,可以解释一个程序在加载时过于缓慢。要是你在Adobe公司上班,你可能不会这样想。(Adobe Photoshop可能是这个星球上启动最慢的非java程序)。文本编辑器需要快速启动,实际上多数编辑器也做到了这点。UltraEdit自然也不例外。它的启动时间比notepad要慢一点,但并无大碍。

    一件很有意思的故事:前一版本(v10)的UltraEdit曾加入一种名为Armadillo的版权保护机制。尽管Armadillo是最强悍的一种仅用软件来进行版权保护的机制,它同时也是运行最慢和最不稳定的。加入这一机制后,UltraEdit的用户数一度反弹降低。于是,在最新发布的11版中,它被彻底废弃了。这对软件开发者或许是一个极好的教训。版权保护措施是一个“好方法”,它可以有效地惹恼你忠实的注册用户,而从不打算购买软件的盗版用户则几乎不受影响。
  • 列编辑模式 - UltraEdit的此项功能深受我们喜爱,但也是很多编辑器不具备的功能。人们不会经常用到列编辑功能。可一旦用到,它就能大量节约你的时间和精力。通常在文本编辑器中,你通过鼠标拖过多个连续字符进行选中。列模式允许你选中和操作(复制、粘贴、删除、移动、插入)一矩形的文本块。如下场景中,此项功能的价值不言而喻:你在处理一个文本文件,其中有嵌入的表格信息;你需要删除引导列或末尾列的文字——这类应用并不罕见。 UltraEdit的列模式用起来很舒服,与其他特性一样易用。多数编辑器并不具备列编辑模式。屏幕截屏参见此处
  • 高超的标签式风格、整洁的界面 - 要是你的编辑器不支持标签式打开多个文件,马上抛充它吧。 UltraEdit允许你同时打开多个文档进行编辑,除了常规的水平/竖直排列外,还可以点击标签进行窗口切换。

    标签式风格的细微之处让它用起来得心应手。你可以双击关闭标签,经过修改但尚未保存的标签会显示出*标记,这样你就能方便地看到哪个文件有待保存。你可以在标签上右击鼠标,弹出菜单中包括了标签的常见操作。你还可以拖动标签来重新排序,把标签栏放置于屏幕的顶端或底部。

    你还可以设定窗口区来显示当前目录、项目、文件系统的文件列表,很多人发现这一功能很实用。显示模板和宏的窗口也可设定,并且打开和关闭它们非常容易。界面截屏请 见此处
  • 文本或多文件中查找/替换 - 我们非常喜爱UltraEdit中的查找/替换功能。你会发现它为简单或正则搜索提供了易用的选项。很多时候正则表达式的功能十分强大,但是提供一些简单的选择框来决定是否大小写敏感、完整词语搜索也很实用,并且这些选项可以用于普通搜索和正则搜索。

    UltraEdit的搜索/替换功能在支持处理批量文件 (打开的文件,目录下的文件,预定义的项目)方面异常强大。 UltraEdit在一个位于窗口底部的独立的区域显示搜索结果,这样用户就能方便地预览搜索结果,并且双击某一条结果,就能定位到相应的文件和行数。这种根据需要而将结果展示在独立小窗口的风格,反映了现代IDE平台的做法,是很体贴实用的特点。截屏见此处
  • 折行,制表符,缩进,格式化,转换 - 有人喜欢用空格来缩进,有人则青睐tab键。 UltraEdit对每种做法都完美支持,并且为它们相互转换提供了很好的功能,还可以方便地添加或去除缩进。 UltraEdit有一项功能十分好用,那就是选中一块文字,然后按tab键,它们就整体缩进。

    UltraEdit还对各式各样的折行处理提供了支持。毫无疑问,你可以切换文本显示状态是折行(这时文本在窗口边界处折行),还是不折行(这样文本就一直向右延展下去直到遇到一个回车符)。任何说得过去的文本编辑器都能做到这点。 UltraEdit的高明之处在于提供了额外的功能,可以在文件中添加或去除回车,以便于语句在显示效果中的实际对齐。

    你还将发现一些菜单,提供了各式各样的功能,诸如对文本改变大小写(首字母大写,全大写,全小写),去除多余空格、重复文本行,以及一些实用的排序功能。或许,这些特性并非UltraEdit所独有,但它处理地井然有条,方便易用。
  • 文件支持 - UltraEdit支持巨型文件,可以快捷地加载和操纵它们,并且能自动检测并相应处理unix,dos,unicode和utf文件。
  • 十六进制模式(Hex Mode) - 世界上有很多优秀的专门的十六进制编辑器,它们被设计用于查看和修改非文本文件。十六进制编辑器与文件编辑器是差异很大的,所以你很少会用十六进制编辑器处理文本文件,也不会想用文本编辑器打开可执行文件。没有一个编辑器都同样完美的兼顾文本和十六进制编辑,然而UltraEdit在文本编辑器中处理十六进制内容,几近于完美。令人欣赏的是在UltraEdit中可以便捷的切换到十六进制显示状态。最简单讲,这意味着你能以ascii码形式来展现一个文件的内容。有些情况下,会为你带来不少方便。比如你要了解一些无法显示/打印的字符的ASCII码;再如你本以为是文本文件,但是打开一看,却包含一些希奇古怪的字符。
  • 检测文件变化 - 此项功能在文本编辑器中也越来越普及了。当编辑器打开的一个文件被其他程序所修改时,编辑器会弹出提示,询问用户是重新加载文件到缓冲区,还是保持不变。
  • 用户工具 - 尽管管理外部用户工具的界面看起来有些笨拙(见下一节),UltraEdit在接驳第三方软件,并接收它们的输出方面,还是相当强大的。输出内容会展示在搜索/替换所用的同一个嵌入面板(自动创建)中,也和搜索输出结果一样,也提供了点击加载、跳转到文件的功能。这是一种与第三方工具合作的良好方式,并且有很多选项来设定如何处理输出结果,比如替换掉选中文本等。就与多种外部工具协作来完成大量的技术处理来看,UltraEdit当之无愧是最灵活的编辑器。截屏见此处
  • 宏/脚本- 在某种意义来看,相当多编辑器支持宏功能。我们并没有过于陶醉于UltraEdit的宏脚本语言及其界面(见下),但这并不妨碍这一事实:对于多数普通性的一般任务来看,UltraEdit的宏功能是相当不错的,并且可能比其他编辑器都好。你一边操作,就可以同时把执行的动作录制下来,然后再做修正改进。也可以手工编写脚本——这并不太难,因为它有一个简明的帮助对话框,这深受一般用户(非程序员)的热爱。
  • 项目 - UltraEdit中可以很容易地定义项目,也就是你可以一并处理的多个文件的组合。当你要一次性打开一组文件,或对它们进行查找替换时,这一功能尤为实用。
  • 模板 - 你可以定义模板,带有待输入字段的文本块,在你编辑文件时,可以很方便地插入它们。
  • 括号配对和语法加亮 - 大多数高级编辑器在不同程度上支持编程语言源码和html文件,能识别出你所编辑的文件类型,运用相对应的语法加亮,也就是说,保留关键字将以不同颜色显示,以区分字符串、数字常量等。与此类大多数编辑器一样,UltraEdit支持外部的语法加亮定义文件。你也能找到用户定义好的各种语言的加亮文件。UltraEdit在括号匹配方面也十分出色,这在你编程查找匹配错误时帮助不少。截屏见此处
  • 代码折叠 - UltraEdit V11带来的新功能就是代码折叠。它的意思是,程序代码或html文件中的一段内容,按照约定的开始标记和结束标记,可以折叠为一行。行首有一个小的 [+] 记号,以便于你展开或折叠它们。菜单栏中有命令可以展开或折叠全部文本块。这一特性可能要用一段时间才能习惯,但用熟之后,在查看大型文件时会效率提高。你可以按层次结构去快速找到内容,在必要时又可以展开看到细节。截屏见此处
  • 自定义热键和菜单 - 有些用户在应用软件时,尤其在使用自己喜欢的软件时,非常热衷于个性化菜单、按钮、快捷键。我们的意见是,一般来说,菜单不要进行个性化。也就是说,别象Microsoft那样。Microsoft的隐藏菜单主意是一个很好的令人不便的反面例子,绝不应再出现在其他程序设计中。在我们建议菜单不要做个性变更的同时,我们对按钮持有一种不同观点。对按钮进行个性化定义,将最常用的功能置于指尖之下,而让很少用到的按钮隐藏起来,实为上策。再总结一下,菜单应该完整而规则,按钮应个性化以体现多用优先的原则。我自己并太用热键,但键盘偏爱者看到软件能完全自定义热键还是欢欣鼓舞的。
  • 拼写检查选项 - 你会在UltraEdit中发现与拼写检查相关的多个选项,来对拼写检查进行个性化配置。比如,列出用户添加的全部单词,在不同词典间切换等。
  • 显示不可见字符 - 有一段时期,一些如XyWriteWordPerfect这样的字处理软件创造了一项名为显示不可见字符的功能,来把一些不可见的字符显示出来,并且允许你编辑它们。之所以用到这些字符,是为了使版式更为清晰易读。UltraEdit有一个选项是“显示空格/制表符”,选中之后就可以把空格、制表符、回车给显示出来。当然了,并不是只有UltraEdit才能做到这点。
  • 细致入微方成大家- 有为数众多的细致入微之处,它们汇集一起,让UltraEdit成了我们所用过的最顺手的编辑器。举一个例子来说,在一行的左边空白处点击一下鼠标,就能选中这一行,用起来非常方便。此外,还有一些不是那么经常用到的功能,比如远程编辑FTP服务器上的文件,这一功能我们也曾经在其他编辑器中见到过。直率地讲,我宁愿去除这些功能,而代之以保存文件后手工上传。当然了,如果你经常性进行此类操作,这一功能就可以替你节省不少时间。

尚待改进之方面

UltraEdit也不是完美无瑕,以下几点就是我们不太欣赏的:

  • 简陋的宏/脚本语言 - 如我们前面所说,当今的扩展编程的潮流是,对已经成熟的脚本语言(如Python,Perl,Javascript,VBScript,Lua等)进行全面支持。但UltraEdit用得是自己设计的一套脚本语言,它不免过于简陋,在处理较复杂工作时会力所不逮。要是你真热衷于对编辑器写一些脚本,你难免沮丧地发现,UltraEdit的内置语言让你困难重重。当然了,我们见到的其他文本编辑器还不如UltraEdit呢。

    客观地下一个结论是这样的:UltraEdit在脚本语言上的处理方式,让一个没有太多编程经验的人,就一项简单任务,想临时写一段脚本变得十分容易。他在一堆运算符和函数中点点选选,大概就能成了。由此看来,对一个随意的用户,他只是想用一个宏来键入一些文本,或执行系列的键盘操作,UltraEdit的脚本倒算是挺好用的。截屏见此处
  • 令人困惑的的设置选项 - 有一个编写复杂程序(比如UltraEdit)的悖论,那就是设置选项会越来越多,设置界面不得不越来越复杂,就算是很有经验的用户也有迷失方向的危险。(译者xbeta注:所以更强大的VIM和Emacs都用参数文件而非gui来处理此问题。)UltraEdit的设置对话框尤其容易让人发晕。设置的主体框架是一个树状结构,同时带有滚动条。从程序开发者的角度看,这一方式易于理解,因为这样便于升级和维护。但从用户角度,这样就只能算是下策了。因为它不容易区分此设置与彼设置,也不利于集中维护。我们期望能见到一个组织的更好的设置界面。
  • 未能充分结合新工具(AstyleTidy - 在UltraEdit v11开始,为两个优秀的开源新工具软件加入了集成的界面(包括按钮和菜单)AstyleTidy。Astyle是一款程序源码的格式化工具,可以为c/c++/c#/java代码处理缩进和重新格式化。而Tidy则是一款优秀的html文件格式化工具。UltraEdit结合这些工具是非常应该的,然而,存在的一些小毛病大问题的不足,则让我们很遗憾的面对集成应用的现状。我们对这些问题在不久的将来得以解决,报以高度的关注。所谓的小毛病是,缺少一些重要的设置选项。比如,UltraEdit的设置界面中仅包含了Astyle多个选项中的少数几个,而用户也很难自己添加其他选项——这看起来很奇怪,因为加入它们并没什么麻烦。说到大问题,是指这些工具的操作,与其他功能截然不同,无法被撤消!这一点没有任何借口可以解释,我们只能假设这是一个疏忽,并且不久就得以弭补。
  • 永无止境的水平滚动条 - 这一用户界面的bug存在于UltraEdit中为时已久,开发者对此也一清二楚。看起来要解决这个bug可真不容易。说明白一点就是,你拖动水平滚动条永远不能到达右方的终点,这让你会误以为在视野之外的右边,还有什么内容。或许在我们指出这点之前你并没有意识到这一点——那只好说声对不起了。

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有