谁更好?九款Linux文本编辑器全接触

谁更好?九款Linux文本编辑器全接触

对于像我这样一直坚持使用Windows的用户,Linux爱好者总是持着一个最主要的理由,觉得我们十分可笑:我们都不愿意放弃我们最喜欢的应用程序。现在有数不尽的开源软件,再加上越来越多Linux的商业应用程序,他们认为,我们完全可以找到运行在XP或者Vista上的代替品。

  但我想说,Linux的fans们,这并没有你们想得那么简单。

  那些“可替换”的应用程序通常都无法提供我们所需要的所有特性。有时,需要多个应用程序才能够达到仅可在Windows中使用的软件的效果。也许,Linux中可用的那些替代品还未够火候,又或者是它们只是在工作方式上有所不同——它们并不会比在Windows中的软件效果要更好或者是更糟,但这确实意味着,我们是时候重新认识一些,如何将工作完成。这对于那些时间宝贵的办公室一族们来说,也并不是毫无价值的东西。

  平常我都花很多时间在文本以及各式各样的表格上,因此,对于我来说,最重要的就是有一个能够漂亮地处理纯ASCII文本以及基本HTML的稳定的应用程序。这也就意味着,一些像宏、拼写检查以及更改文件名字母大小等功能就尤为重要,并且需要能够将文件以纯文本而不是字处理的格式来操作

  在Windows环境下,有很多优秀廉价的程序能够做到这一切,包括我使用多年的NoteTab Pro,UltraEdit也是一个不错的选择。但它们在Linux中都不可用。曾经我做了很大努力,试图让NoteTab Pro在Linux中运行。如果使用CrossOver Linux Professional这个在Linux系统上运行Windows程序的软件,就能够做到这一点。

  然而,我仍然想找到一款为Linux而设计的文本编辑器。最终,我下载安装了九款免费的应用程序,并对它们进行了测试和评分。

  由于你们与我对文本编辑器的要求可能有所不同,我将评分分为了学习和使用的简易程度、外观、内容编辑(拼写检查、搜索和替换等等)、简易HTML编辑(添加粗体、斜体、链接等等)以及自定义(创建宏的简易程度以及它们的功能强大与灵活程度)。

  在我所测试的九个程序中,仅有少数的设计符合我的要求。但它们分别在一些方面都有所长,而这些可能就是你所需要的。如果你所需要的与我的相同,也就是一个轻量级的文本编辑器,或者说如果你不介意使用几个应用程序来达到一个的效果的话,那么在此还是有一些你可以参考的内容的。

  元老级的工具

  这些Unix中已经存在很长时间的应用程序现在仍然在服役着,而当时几乎都没有其它的工具可用。

  Emacs

  Emacs的标语就是“可扩展、可定制、自文档化的实时显示编辑器。”要注意的是,在它的口号中,并没有提到“易用”或者是“直观”。这并不是为那些需要“所见即所得”软件的用户而设的;如果你需要一些像拼写检查这样的写作工具,它也不适合你。



图1 Emacs提供了大量的工具,但它的界面离“直观”相去甚远

  Emacs在Unix中存在已经几十年了,现在它还在为那些喜欢用它来编程的人们服务着。我能明白个中原因,从它的功能列表中可以看出:控制子过程;程序自动内缩;一次查看两个或更多文件;编辑格式化文本;以及处理一些字词、句子、段落以及页面,还有多种不同程序语言的表达和注释。

  如果我想要在Emacs中创建一个新文件要怎么办呢?我是否需要去翻阅一下使用手册呢?在文件菜单下,并没有任何“新建文件”的选项,而尝试使用Ctrl+N则得到了警告,所示如果要创建文件的话,应该使用Ctrl+X和Ctrl+F,接着在文件自身的缓冲存储器中输入文字。

  而在此之后,Ctrl+X和Ctrl+F的操作让我更加生气,而不是一个好的开端。

  要创建一个文件,使用说明上说:“只需要访问它。Emacs将‘新建文件’显示在回声区域,但看上去会好像你是在访问一个现有的空的文件。如果你对它们做出任何修改保存,文件就会创建了。”

  在Emacs中还有很多内置的帮助,你只需要按下Ctrl+H就可以打开,但如果你是一个新手的话,这些帮助并不是都那么好理解的,除非你是一个使用早期Unix编辑器的老手,否则我还是强烈建议你阅读它的使用说明。

  总之,我可以明白为什么较老的Unix和Linux用户以及程序员会赏识这样的文本控制系统。但这对于Unix和Linux知识很有限的,或者是需要能够编写程序像编写文档一样的用户来说,我还是不推荐的。

  Emacs的评分:

使用的简易程度

1

外观

4

内容编辑

5

简易HTML编辑

5

自定义

5

总分

20


  KVIM

  有些人对老式命令行的vi文本编辑器十分反感,而我也是其中的一员。我使用vi有好几年了,在Web邮件以及带有GUI的POP邮件客户端出现之前我一直都在使用,每周我都使用Unix的“elm”电子邮件程序来撰写新闻。我对elm并不厌恶,只是讨厌vi而已。

  用户体验中的不悦情绪从打开的界面就开始产生了。如果我运行命令“vi newfile.txt”来开始一个新文件,那么是不是就应该表示我打算开始在上面输入了呢?为什么它要以“命令模式”打开,要求我在开始撰写之前输入 “i”呢?更不要提如果输入“j”就会将光标下移一行,输入“$”则将光标移至行末了。

  如果你热衷于代码编写,一些vi命令也许对你来说会比较有意义。在处理完一些正则表达式之后,“^”表示“在行首”而“$”表示“在行末”,我想vi的“^”和“$”符号原本也并非为制造麻烦而出现吧。关于Ctrl+右方向键,我对它也颇有微辞。我发现,很多高深的代码编写人员都会觉得vi是一个很实用的工具,包括我的朋友们也大加赞美它在各种文件管理任务中的作用。但我并不这么认为。

  我的KDE Linux桌面中有一个新的改进版本的vi,名叫KVIM。Vim是旧式vi的升级版本,而KVIM是一个KDE环境下的vim。不幸的是,KVIM并没有对vi的体验做出太多的改进。



图2 KVIM的外观将vi带入了现代,但UI的一些失败之处还遗留着

  这个编辑器也不是那么直观,在你使用它输入之前,你还是需要阅读一下它的使用说明。毫无疑问,KVIM可以高度自行配置,并且它很强大,还是可编程序的。例如,vim在线说明就有代码是用来将列表中“lastname,firstname”格式更改为“firstname,lastname”格式。

  “:%s//([^,]*/), /(.*/)//2 /1/”

  vim并不是独一无二的;许多脚本语言都能够使用正则表达式来做到这点。作为一个文本编辑器,如果能够提供简易使用的界面来实现基本功能,那将会更好,而提供更为复杂的一些脚本工具,则是锦上添花。vim有这样的功能,但它的UI确实是它的不足。

  KVIM改进了远程Unix的vi体验,允许删除键来删除字符,同区难过点击鼠标就能够改变光标的位置,而这些在上世纪90年代的时候,使用 vi在远程shell中还是无法做到的。它还有一个保存图标,它能够替换远程vi中的“[escape]:w”,还有剪切、粘贴、查找、向下查找、向上查找以及查找/替换的图标。我仍然觉得行的包装还是不太稳定;你在剪切和粘贴文本进出这个程序的时候就可以发现。

  我知道vi以及它的衍生产品都有很多的fans。实际上,有一名Web开发人员告诉我,他喜欢它能够达到的一些强大功能,因为他当时正在更新我们一台服务器上的一段脚本。在我们开始交谈后,他开始一连串的键盘敲击,想要更改一行代码,他又说:“我所希望的只是能够删除它!”

  KVIM的评分:

使用的简易程度

1

外观

5

内容编辑

5

简易HTML编辑

3

自定义

5.5

总分

19.5

用现代的方式编写代码

  如果你是初初对编写代码感兴趣,而又不需要一个相当成熟的集成开发环境(IDE),那么在此你就会发现还有很多很具有吸引力的可选的工具让你使用。

  Arachnophilia

  Arachnophilia是一个用Java编写的支持多平台的文本编辑器,它所提供的功能也是非常多的。对于一些简易的HTML代码编写,它能够处理得非常好,这是一些编辑或者博客作者可能会需要用到的,它还有内置的按钮能够设置粗体、居中等等。它可以高度自定义;在顶部默认的工具栏在中还包含了编辑按钮,而你通过“右键点击向导”来创建自己想要的选项。

  Arachnophilia似乎并不是为写作和内容编辑而设计,因为它没有拼写检查、词典或者是语法辅助。它的大多数功能都是为代码编写者而设,包括语义着色、Java和C++编辑,还支持包括对CSS、XML、Java、Perl、PHP、Python和SQL等多种文件类型的支持。它还有一个“代码美化器”能够用C的语法来自动缩进代码。

  如果你经常需要使用搜索和替换,那么它有一个明显的工具条就是专门用于此项功能的,展开后还有一些选项,例如“替换全部”、“计算实例”以及“使用规正则表达式”。

  这个免费而又功能较全的编辑器,我们已经很难找到太多的不满,但我还是想从中挑一些小问题来说说。文件中使用行号、语法高亮或者字词绕回似乎都是可以的,但却无法同时使用,这样的话,当我们要编写一段文本较多的HTML文件时就可能会带来一些问题。此外,“添加链接”按钮只是简单地在选中的文本中添加“”和“”这需要我在引号之间手动地移动光标,并将URL粘贴进去。我是被我的NoteTab Pro的宏功能所宠坏的,它能够自动地在引号之间插入我保存在剪贴板中的URL。而我在Arachnophilia中使用剪贴板的URL,则通常都会将它粘贴在引号之外。

  无论如何,虽然Arachnophilia无法满足我所有特别的要求,但我相信这样一个优秀的免费软件对于其他的一些人来说,一定会是一个不错的选择。

  Arachnophilia的评分:

使用的简易程度

7

外观

6

内容编辑

3

简易HTML编辑

7

自定义

7

总分

30

  Bluefish

  Bluefish标榜其自身是“一款为熟练的Web设计员和程序员而设的编辑器”,但它的UI却很直观,任何初学者都很够很快上手,并在不断地积累中发现和掌握它的其它功能。如果你需要的是一款能够进行Web代码设计的文本编辑器,那么它一定会是一款很不错的软件。它给我的总体印象就是专业却不令人生畏,文字和图标结合的都很好。

  Bluefish提供了很多常用的HTML任务选项,例如字体、表格等等,当然还有链接,这个软件是用了一个比较不常见的“链接描述” (anchor)来表明可点击的链接。“链接描述”对话框甚至还提供了例如OnClick和OnMouseover这样的Java脚本事件功能。



图4 Bluefish提供了一个强大的对话框用于添加链接到HTML页面

  它还有其它的对话框能够在PHP和SQL任务中来创建文本,就像很多Apache和C的选项那样,你还可以通过项目将文件进行分组,以便开发。搜索和替换功能也很不错,它还支持正则表达式,还可以对多种语言进行自定义的语法高亮。

  再来说说它的一些不足。如果你需要一些文档帮助,那么你就需要单独打开一个说明文件,因为帮助并没有与这个应用程序结合到一起。它的使用说明内容是非常广泛的,如果你够耐心的话,你当然可以找到你想要的东西。例如,对于我来说,拼写检查没有让我很快地找到,但在我阅读了说明之后,我发现你必须安装一个独立的开源Aspell应用程序才能够进行拼写检查。

  宏都是通过一个“自定义菜单”来操作的,在此,你可以创建自己的文本串、HTML打开和关闭标签或者是搜索和替换命令。文本串的创建包括了一些具有额外功能的对话框,它们在使用的时候都是非常简单的。

  有些失望的是,在一个如此直观的界面中,我却没有找到为创建的宏而设的“编辑”定制菜单,但如果你参阅说明上的步骤,那么一切都很明了了。宏功能与其它的一些应用程序相比也许没有那么强大,例如,我在定制菜单中找不到如何使用其它的Bluefish命令,但在重复输入上,它们又都是很方便的。

  最后,Bluefish并没有将自己定位为写作用途的应用程序,它也没有一些文本操作的命令,例如更改大小写字母或者是合并、拆分行。

  这也就是说,如果你要找的是一款功能适度的基于文本的Web代码编辑应用程序,Bluefish无疑值得一试。

  Bluefish的评分:

使用的简易程度

7

外观

9

内容编辑

7

简易HTML编辑

9

自定义

7

总分

39

  Komodo Edit

  Komodo Edit是ActiveState 295美元的IDE的一个免费版的编辑工具。它具备了很多程序员需要的文本操作功能,例如定义、加入行、更改大小写字母、注释一段高亮的块以及我最喜欢的跳到匹配的大括号。

  如果你不需要完整IDE开发环境下去除bug和其它的工具,Komodo Edit 4.1是一个用于编写代码的不错的工具。它能够对CSS、HTML、Java、Python、Perl、PHP、Ruby等等用色彩标示语法。它还能够根据你输入的命令相关内容进行标签和自动完成。

  你可以通过记录下的键盘敲击来创建宏,“snippets”能够让用户在新文件的高亮文本、模版之前或之后输入代码。你可以通过FTP连接到远程的服务器,并在Komodo中编辑文件。此外,如果加上IDE,你还可以将文件分组到一个项目中。

  它的UI很漂亮,虽然并不是所有的特性都非常直观,但你用Komodo Edit做比较初级的工作是很容易上手的,接着你就可以参看使用说明来了解你需要的更多自定义的特性。实际上,Komodo Edit除了拼写检查之外,包含了我所看到的编辑器中所有的功能。



图5 Komodo Edit的功能包括色彩标示语法、匹配大括号以及可记录的宏

  我在这之后购买了295美元的Komodo IDE,并发现它对于开发工作来说,的确是一款伟大的软件。

  Komodo Edit的评分:

使用的简易程度

8

外观

9

内容编辑

7

简易HTML编辑

9

自定义

10

总分

43


  NEdit

  NEdit看上去似乎更多地是为了那些编写代码的人而设计的,而不是用于编辑文章或者是粗浅的HTML页面。我没有发现任何工具栏或者是单击的HTML代码编写按钮,也没有像拼写检查这样一个作者或者是编辑所需要的功能。



图6 NEdit简洁的界面下包含了强大的代码编写功能

  NEdit也有可记录的宏,这为它加了不少分,它的宏编写功能也非常强大。它的搜索和替换功能也很精密,这对于开发者来说也是很有意义的。我喜欢它的“Make Backup Copy”(制作备份拷贝)以及“Incremental Backup”(增量备份)功能。而不能是用Home和End键来转到行首或者行尾,这让我感到确实还是Windows给我们带来的一个方便之处。

  NEdit也有一些功能是用于简单的文本操作。在研究如何创建宏加入到行的过程中,我在网络上看到了这样一段代码:

  set_cursor_pos(search("^", $cursor, "regex", "backward"))

  s = $cursor

  process_up()

  set_cursor_pos(search("[^ /t]", $cursor, "regex"))

  process_down()

  select(s,$cursor)

  indent = get_selection()

  delete_selection()

  insert_string(" ")

  backward_character()

  backward_character()

  delete_next_character()

  set_cursor_pos(search("^", $cursor, "regex"))

  insert_string(indent"")

  backward_character()

  这比起点击工具栏上的“加入行”命令来说,要耗费的精力就大得多了。

  如果你想要找的是一些简洁而又功能强大的工具,NEdit会是一个不错的选择。如果NEdit是我唯一可用的工具的话,我想我还是能够用它来做很多我所需要的事。然而,现在有很多其它可用的编辑器,它也就不会成为我所选择的工具了。

  NEdit的评分:

使用的简易程度

6

外观

6

内容编辑

5

简易HTML编辑

5

自定义

7

总分

29

字处理的一些选择

  如果你正在寻找一款精致、直观的轻量级文本编辑器,下面就是一些Linux平台中可选的工具。

  Gedit

  Gedit是Linux GNOME桌面上一款小巧的文本编辑器,它的外观看上去很简单。它仅在工具栏上具有一些图标,以及一排基本的菜单,有些像Linux下的记事本。但如果你深入一些探究的话,就会发现其实它还大有玄机。

  让我感到吃惊的是,我发现它能够支持多种文件类型的彩色编码语句,还有高度的自定义特性以及恢复到已保存的文件版本和拼写检查。

  然而,它还是缺失了一些我认为很必要的东西,例如文本操作和宏,或者是HTML的一键标签功能,例如粗体或者链接。虽然它基本的文本功能在外观上看起来还是不错的,但我发现它的语句色彩还是比较不足,特别是与一些像Komodo Edit这样的工具进行对比之后。

  如果你想寻找一款简单的编辑器,记录一些简单的备忘或者是快捷脚本以及代码段落,那么它是一款不错的应用程序。但如果要完成一些更深层次更高要求的任务我想我还是需要一款更强大的应用程序。

  Gedit的评分:

使用的简易程度

8

外观

7

内容编辑

7

简易HTML编辑

5

自定义

5

总分

32


  Kate

  Kate编辑器是与我的SUSE KDE捆绑在一起的,它所提供的技术上的文本编辑体验,要比Windows XP下的WordPad要强大得多。

  但是,在我开始使用它的时候,当我在输入完一个词后按下空格键时,它就会显示一个小圆点,这给我留下了非常不好的第一印象。也许这对于某些程序的编写来说是很有用的,但这在你进行写作的时候就会是一个扰乱你注意力的东西;它让我的句子看上去似乎在中间出现了句号,总是让我停下来思考。我发现在这个程序中有一个配置设置是能够让我删除结尾空白的,但对于这些讨厌的点,却无计可施。

  终于,我找到了解决问题的方法:进入配置菜单编辑的部分,在制表的下方,把“show tabs”(显示标签)的钩选去除。我非常确定在这之前我怎样也没有想到是这样操作。

  Kate还提供了大量便捷的文本操作,例如搜索、替换、更改文字大小写以及加入以及拆分行,还有拼写检查。然而,它不支持让文本变为粗体或者斜体,如果要更改字体则需要进入“Configure Settings”(配置设置)菜单。

  Kate也没有HTML代码编写的支持和切换,需要通过一个HTML插件能够实现,但它不具备文档化的功能。如果你创建一个扩展名为.html 的文件,插件能够提供一些基本的HTML语法高亮,但我找不到任何简易的工具来处理一些像插入超链接或者是设置粗体这样的HTML任务。但它能够用键盘快捷键来插入HTML注释。

  你可以设置让Kate运行外部的脚本,这对于一些经验老道的用户来说是很方便的。它支持CVS,这在开源协同的条件下也为日常工作带来了不少方便之处。然而,我并不希望在做一些简单的事的时候,还需要去自己编写脚本。Kate在一些特别的功能方面还是比较突出的,但对于我来说它并不是最佳的选择。

  Kate的评分:

使用的简易程度

5

外观

6

内容编辑

9

简易HTML编辑

3

自定义

3

总分

26



  集成的工具

  这类下只有一个应用程序,但我想它还是值得单独分类,让大家一起来看看的。

  Quanta Plus

  Quanta Plus标榜自身为一个Web开发环境,称其目标是“做最好的标示和脚本语言的工具”。它朝着这个目标也确实做了不少努力。

  它通过带有常用选项的内置工具栏将HTML代码编写的任务简化了。很多标签都能够打开一些允许你输入添加表格、图片到HTML文档这类信息的对话框。但Quanta还具备了写手和编辑们都需要的关键功能:拼写检查、便利的文本操作以及支持正则表达式的搜索和替换。



图9 Quanta Plus为一些常用的HTML任务提供了大量一键式的选项

  Quanta能够高度自定义,甚至还能让你设计自己的工具栏。它为“用户可定义操作”设置了三个级别:文本操作、标签操作以及脚本操作。

  文本操作让你能够常规的存储文本段落。

  标签操作就如同它的名称一样,让你能够让你创建包含了围绕高亮文本打开或者关闭的标签的宏。要更改现有标签或者是创建新的标签添加到工具栏中,都是非常容易的。

  脚本就有些许复杂。在我没有参看说明之前,我找不到任何方法来记录键击或者在Quanta中创建一个非文本非标签的宏。脚本操作能够运行外部的代码。这使得编写Perl脚本并让它运行在你的文档中变得非常容易,无须离开Quanta,但请不要使用这个应用程序自身的搜索和替换来完成一些平常的搜索替换任务。

  对于那些想要通过单一应用程序来处理宏,或者是不喜欢通过编写代码来完成非开发性的工作的人们来说,Quanta并不是他们可选择的编辑工具。

  此外,我还想说的是,在我想要使用Ctrl+Z来撤销一些我不想添加的标签时,它却不能将标签移除,而是将我的标签中所有的文本都删去,偶尔它还会将其它的文字也删去。

  但对于在Linux进行一些文字撰写、内容编辑以及简易代码编写的人来说,它还是一款不错的可用工具。如果通过一些代码来完善它的撤销功能的话,我想它会是我所喜欢的NoteTab Pro的一个理想的替代品。

  Quanta Plus的评分:

使用的简易程度

8

外观

9

内容编辑

9

简易HTML编辑

10

自定义

6

总分

42

  总结

  那么,我是否有找到那个绝对胜出的文本编辑器呢?并没有,但我揭开了一些不错的应用程序的面纱,而它们可能会满足各类人群的需要。如果我有一天彻底转换到Linux下工作,我有信心我一定能够找到能够最大程度满足我需求的应用程序。

  但我想,如果为Linux开发的UltraEdit发布的话,我会更乐意去使用它的。

  (原文作者:Sharon Machlis 文章来源:www.computerworld.com 原文地址:http://www.computerworld.com/action/article.do?command= viewArticleBasic&articleId=9030879&pageNumber=1)

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部