文本文件,是很重要的一种文件类型,它有很多优势,最重要的是它很小。在日常的学习与工作中,每个人都会或多或少要接触文本文件,这样,对文本文件进行编辑就是很平常的事情了。现在文本编辑器可谓种类繁多,鱼龙混杂。各个编辑器有它自己的优势,对编辑器的喜爱也因人而异。很普通的用户,或者说初级用户,可能用到的文本编辑器会是Windows自带的Notepad(记事本)。就我个人而言,曾经有段时间也只是使用notepad。然而对于一个程序员,notepad是远远不能满足要求的。大部分时候,也许程序员们使用的会是IDE,然而,IDE一般都比较庞大,占用资源也比较多。如果只是写一些简单的或者只是看看一些代码,似乎没有必要启动一个庞大的IDE,而notepad又没法满足要求,这个时候拥有一个好用、强大的文本编辑器就很重要了——这些文本编辑器一般都支持语法高亮等功能,方便阅读程序与程序编写。
 
记得在初学JAVA程序设计时,看网上的视频,一上来不会是教你使用Eclipse之类的IDE,而是使用UtralEdit、Editplus等之类的文本编辑器。使用这些编辑器作为入门有很多好处:所有代码基本都是手工输入,对于初学很有好处,而不是利用IDE的代码提示等完成的,初学者更容易理解来龙去脉,更好的入门;这些编辑器一般都比较轻量级,对于入门级教程,没有必要使用庞大的IDE,使用普通文本编辑器就可以胜任了……
 
使用过Unix/Linux的用户,肯定都知道vi编辑器,似乎vi之于Unix/Linux如同notepad之于Windows。然而Vi与notepad的功能却相去甚远,更不用说Vim了。
 
在武林大会开始之前,首先介绍一下“当世英雄人物”:
 
1 武林泰斗——Vi/Vim、Emacs、jEdit(免费、开源、所有平台)
 
武林中的泰山北斗,人人敬仰,流传于世,地位无人撼动。Vi/Vim、Emacs就是文本编辑器中的泰山北斗。
前段时间花了不少时间系统地学习了Vim,功能确实十分强大,而且有众多的插件可使用。然而,Vi/Vim的门槛比较高,很多人一开始使用会很不习惯,继而放弃使用。我在使用时也有这种感觉,然而没过多久就喜欢上了它的一些操作方式,比如:移动光标的方式,简洁的界面,经典的黑底白字等。现在我用的浏览器Firefox、Chrome都定义移动光标的快捷方式为Vim的方式,这样手不用移开键盘就很顺手地在屏幕上跳动,很是方便;很多软件,我也尽量使用快捷方式操作,隐藏菜单栏与工具栏,编程黑底白字等。由于功能强大,学习难度也大,需要长期实践才能熟练掌握,才能用起来很爽。用很多使用Vim的人的话说:Notepad等编辑器根本没法用。然而作为一个程序员,很有必要至少掌握Vi/Vim的一些基本操作。如果你决定深入地学习Vi/Vim,在网上有很多相关的学习资料,而且它的官方帮助文档很全、很详细,是学习的好资料。另外,在此推荐几篇优秀的博文供学习:善用佳软之《普通人的编辑利器——Vim》Dieken之《程序员的编辑器——Vim》
对于Emacs,入门难度似乎更高,网上说不少高级程序员很喜爱。我没有接触,一来,不想花大量时间去学,没那么多精力;二来,现用的文本编辑器已经能够满足基本工作需要了。有兴趣的朋友可以在网上收集资料学习。推荐一篇优秀博文:王垠之《Emacs是一种信仰!世界最强编辑器介绍》
也许很多人听说过甚至使用过Vi/Vim、Emacs,但是对于jEdit却知之甚少。这段时间有使用过jEdit,开始以为它和EditPlus等是一个数量级的,用了之后才发现,该编辑器十分的灵活,功能当然就相当强大,个人觉得与Vim等是一个数量级的。因而我将其归为“武林泰斗”。jEdit最大的优势是可以通过JAVA语言编写插件。现在已经有众多jEdit插件可以使用(主页:www.jedit.org)。
 
2 武学宗师——UltraEdit、Editplus、TextPad、EmEditor等(共享、Windows)
 
一代宗师,深受特定领域人的爱戴和敬仰。然而没法与泰山北斗相提并论。
这些软件有一个共同特点:共享软件,有一个试用期,过后需要支付一定的费用。这些软件功能也比较强大,可以代替Notepad,不过由于是共享软件,使用有限制。当然,网上有很多破解的。具体哪一个好,应该说是各有优劣。似乎使用UltraEdit的人比较多,它的确是一款十分优秀的编辑器。
 
注意,这些软件都只能在Windows下使用。
 
3 普通高手——Notepad++、Notepad2等(开源免费,可替代Notepad)
 
虽然不如泰山北斗、一代宗师那样闻名千里,然而实力却也不差,可称之为高手,一般人无法与之较量。
这些软件入门低,但功能强,十分适合那些不想使用记事本的初级用户。它们是记事本(Notepad)很好的替代品。
 
当然还有很多来参加武林大会的人物,不过由于他们实在太一般,来一般也只是捧场、凑热闹而已,在此不一一列举。
 
就像武林界没有绝对的高手,文本编辑器一样没有最好的,只有最适合的。Emacs很强大,可是对一个很普通的用户,平常只是写写日记之类的,对电脑知识了解也不多,学习Emacs是不可能的。所以,适合每个人的编辑器可能不一样,我们应该选择一款自己喜欢的、使用起来很顺手的编辑器使用,以求达到最高效率。我的建议是:(1)普通初级用户,觉得Notepad太一般,不能满足要求,也讨厌其界面的,可以选择使用Notepad++,Notepad2等;(2)一般程序员,建议使用EditPlus、UtralEdit等,如果你愿意学习,可以深入学习jEdit、Vim甚至Emacs;如果你是一个JAVA程序员,愿意学习,推荐使用jEdit,因为它的定位就是:Programmer's Text Editor,而且有很多插件可供使用,只要你愿意,甚至可以配置成类似Eclipse那样强大的IDE;当然对C/C++等语言支持也挺好,不过对于C/C++程序员,如果愿意学习,推荐使用Vim,网上众多关于配置Vim开发环境的文章大多都是针对C/C++语言的;如果你是一个程序员,一般人应该都会使用Eclipse之类的IDE,不过这样的IDE太庞大,很耗费资源,如果只是些一些测试性的代码或阅读一般性的代码,还是建议用一般的文本编辑器,它们小巧且功能强大;如果你不愿意配置,不想学那么多,在此强烈推荐UltraEdit和EditPlus,它们各有优劣,在后续文章中,我会详细对比说明。
 
众多文本编辑器的比较可以参看维基百科关于《文本编辑器的比较》http://zh.wikipedia.org/zh-sg/%E6%96%87%E6%9C%AC%E7%BC%96%E8%BE%91%E5%99%A8%E6%AF%94%E8%BE%83
 
有兴趣的朋友可以把众多的软件下下来试试,浏览一下这些软件的样子,并选择一两款作为自己长期使用的编辑器。