知識若不分享 實(shí)在沒(méi)有意義 http://www.yidabu.com 20070109
點(diǎn)擊下面網(wǎng)址查看原文:
http://bbs.yidabu.com/thread-12-1.html
kinghoo原創(chuàng )
用了那么多的文本編輯器,要找一個(gè)完全讓自己滿(mǎn)意的還真的很難,看得越多,越難選擇,也許是挑花眼了吧:P?,F在,我把自己理想中的文本編輯器寫(xiě)出來(lái),既然是理想中的,難免要求有點(diǎn)高,也許這樣的軟件永遠不會(huì )有,但我的理想卻一直存在。
1、最好是免費軟件,如果開(kāi)源就更好了。需求程度:★★★★
畢竟現在賺錢(qián)越來(lái)越難了,而一個(gè)共享軟件至少得幾十美元,折換成人民幣就是一個(gè)不小的數字了。雖然我也是程序員,仍然希望文本編輯器免費。對于開(kāi)源的要求看似有點(diǎn)過(guò)分,其實(shí)我是出于這樣的考慮:像Vim的作者那樣,能堅持數年開(kāi)發(fā)一個(gè)免費的文本編輯器的人實(shí)在太少,很多人剛開(kāi)始開(kāi)發(fā)時(shí)出于興趣,但后來(lái)由于各種原因,不得不放棄了對軟件的更新,比如DreamEdit、TextPro、Crimson Editor都屬于此列,如果開(kāi)源,則可以給后人自己開(kāi)發(fā)的機會(huì )。這兩點(diǎn)要求雖然比較高,但很多軟件都滿(mǎn)足,如免費且開(kāi)源的軟件有NotePad++、Turbo Pad、NotePad2、絕地程序編輯器、JEdit等,光免費不開(kāi)源的也有PsPad、NoteXPad、DreamEdit、TextPro等。
如果是收費軟件,可以像Emeditor、EditPad那樣提供免費版給用戶(hù),在功能上有一些限制也可以。
2、界面盡量好看一些。需求程度:★★
用了這么多軟件,我最喜歡EmEditor和Programmer‘s notepad2的界面,尤其是EmEditor,用得最多。(知識若不分享 實(shí)在沒(méi)有意義 http://www.yidabu.com)
3、啟動(dòng)速度比較快。需求程度:★★★
我使用過(guò)的文本編輯器中,啟動(dòng)速度比較快的應該是NotePad2、Win32Pad、NotePad++和Emeditor了,這幾個(gè)軟件啟動(dòng)速度和記事本不相上下,啟動(dòng)速度比較慢的就是PsPad、UltraEdit、Emacs了,其中Emacs最慢。但這個(gè)問(wèn)題,又得分兩方面來(lái)看,像NotePad2、Editor2這種單文檔軟件,是我單純用來(lái)代替記事本的,每天得運行無(wú)數次,啟動(dòng)速度至關(guān)重要;而UltraEdit、Emacs之類(lèi)的多文檔軟件,每天只要運行一次就夠了,因此,這類(lèi)軟件的啟動(dòng)速度對我影響不大。
4、打開(kāi)大文件快一點(diǎn)。需求程度:★★★
我一般編輯的文件從幾K到幾M,都不算大,打開(kāi)速度影響不大。但有時(shí)要編輯比較大的軟件,幾十M乃至幾百M,這對軟件要求就比較高了,MadEdit在這點(diǎn)上做得很好,Vim、Emacs這樣的就更不用說(shuō)了。
5、支持十六進(jìn)制編輯。需求程度:★★★
這個(gè)要求比較特殊,但有時(shí)改程序用得上。Vim、UltraEdit、PsPad、NotePad++(用插件實(shí)現)、MadEdit都支持此功能。
1、對中文支持好。需求程度:★★★★★
具體包括以下幾點(diǎn):
(1)支持中文的搜索、替換。這點(diǎn)目前大多數軟件都可以實(shí)現,即使是NotePad++,搜索時(shí)只需要選中正則表達式就可以搜索中文了(這個(gè)比較奇怪,中文和正則表達式ms沒(méi)有太大的關(guān)系)。Turbo Pad好像不支持。
(2)添加、刪除漢字時(shí)不會(huì )出現亂碼。這個(gè)問(wèn)題舊版本的EditPlus有,其他的目前還沒(méi)遇到過(guò)。
(3)列操作時(shí)不會(huì )出現亂碼。這個(gè)問(wèn)題舊版本的UltraEdit有,其他的沒(méi)見(jiàn)過(guò)。
(4)支持中英文混排。這個(gè)問(wèn)題很多軟件都支持不太好,比如NotePad++,如果中英文混排時(shí)會(huì )有莫名其妙的換行;EditPlus也有些問(wèn)題,而且有時(shí)在空格后面會(huì )自動(dòng)換行,看起來(lái)很難看;再比較雙擊中文中的一個(gè)英文單詞,如“我覺(jué)得EditPlus不錯”這句話(huà),EmEditor、MadEdit將會(huì )選中“EditPlus”這個(gè)單詞,而NotePad++則會(huì )將全段的文字全部選中(它不認識中文),NotePad2更奇怪,它會(huì )選中一部分文字,也不知道是怎么分開(kāi)的。
(5)支持簡(jiǎn)/繁體、全半角轉換。EmEditor、MadEdit這兩點(diǎn)全支持。
(6)支持中文空格縮進(jìn)。這個(gè)功能現在只有EmEditor具備。
(7)可以統計字數。最好能統計中英文字數、單詞數。這點(diǎn)Emeditor和MadEdit支持的最好,NotePad2雖然可以統計,但只能統計整個(gè)文檔中的,不能統計選定文字;UltraEdit、Emeditor、Vim只能統計英文字數、單詞數;PsPad本身沒(méi)有此功能,但作者提供了一個(gè)腳本,可以實(shí)現。
2、對編程支持好。需求程度:★★★★★
具體包括以下幾點(diǎn):
(1)支持多種常用的編程語(yǔ)言。UltraEdit和EditPlus都不支持Pascal;PsPad默認竟然不支持C#(可以自己添加);NewEdit也不支持C#,但這個(gè)軟件主要針對Python而做。我覺(jué)得我理想中的編輯器應該支持Pascal、C++、C#、Java、INI、HTML、SQL這幾種語(yǔ)言。Vim這點(diǎn)做得最好,好像沒(méi)什么語(yǔ)言它不支持。
(2)支持代碼折疊。最好支持三種折疊方式:縮進(jìn)折疊、語(yǔ)法折疊、自定義折疊。Vim對這三種都支持;EmEditor用插件支持縮進(jìn)折疊和語(yǔ)法折疊,但有時(shí)會(huì )報錯;NotePad++、Edit-minus對語(yǔ)法折疊支持最好,但不支持其他類(lèi)型的折疊。其他NewEdit、JEdit等也支持語(yǔ)法折疊。
(3)支持代碼完成。這個(gè)功能有很多名稱(chēng),有的叫Code Complete,有的叫Code Insight,但有的軟件將Code Complete視為代碼模板。我的要求就是,按某個(gè)快捷鍵,可以彈出個(gè)菜單,選擇輸入某變量(該變量在前面出現過(guò))。UltraEdit、PsPad、NotePad++、Vim、Scite都具有此功能。其中Scite可以設置為自動(dòng)彈出,不需要按快捷鍵,和VS2005有點(diǎn)像。
(4)支持代碼模板。有的地方叫Code Clip。是指按下某幾個(gè)關(guān)鍵字再按快捷鍵,就可以彈出一大段常用代碼。比如輸入if,就可以自動(dòng)完成為:
if ()
{
}
我最早在Eclipse中發(fā)現此功能,覺(jué)得很有用,后來(lái)在Delphi中發(fā)現也有,更是極大地提高了我工作的效率。
這項功能PsPad支持,Vim、Scite有個(gè)名叫“縮寫(xiě)”的功能,也能支持,極地程序編輯器也支持。EditPlus中是自動(dòng)彈出,但這有點(diǎn)不太方便,我覺(jué)得還是用快捷鍵好。
(5)可以自動(dòng)完成括號、引號等的配對。這項功能大多數軟件支持,在此不多說(shuō)了。
(6)可以回到上次編輯的地方,想當于VS中的Ctrl+-功能。此功能UltraEdit、EmEditor、JEdit都具備。
3、支持插入日期。需求程度:★★★★★
我經(jīng)常需要在文件中插入當前日期,所以對此功能要求比較迫切。我使用過(guò)的軟件之中,EditPlus做得最好,菜單中有好幾項,分別對應長(cháng)時(shí)間、短時(shí)間、長(cháng)日期、短日期等,非常全面;UltraEdit、EmEditor、NoteXPad、Editor2等軟件都可以插入日期加時(shí)間,但不能單獨插入,也不能設置輸出格式;PsPad可以設置輸出格式,Vim也可以設置,但要自己寫(xiě)配置文件,有點(diǎn)難度。NotePad++、NotePad2等插入日期時(shí),是時(shí)間在前,日期在后,如“13:23:32 2006-06-28”,也不能設置,和我的習慣不符。
4、支持網(wǎng)頁(yè)預覽。需求程度:★★★★
由于工作需要,我經(jīng)常用文本編輯器打開(kāi)網(wǎng)頁(yè)進(jìn)行編輯和預覽,感覺(jué)非常方便,而DreamWeaver等軟件雖然也有此功能,但畢竟太大,啟動(dòng)和預覽都比較慢。
EditPlus、EmEditor都支持網(wǎng)頁(yè)預覽,其他軟件好像沒(méi)有此功能。
5、支持搜索高亮。
這個(gè)功能目前只有Vim、EmEditor、NotePad++具備,即高亮你要搜索的內容,看起來(lái)一目了然。
6、搜索功能強大,支持正則表達式,并支持列表、統計等功能。
正則表達式現在很多軟件都支持,只是支持程度不一樣,其中最強大的應該算是Emacs和Vim了,UltraEdit的也不錯,EmEditor的似乎弱了一點(diǎn)。
至于列表、統計功能,只有NotePad++和PsPad支持,其中,后者支持得更好一些。
7、支持多剪貼板。
這個(gè)功能在需要反復修改代碼時(shí)非常有用,UltraEdit支持10個(gè)剪貼板,而PsPad支持剪貼板循環(huán),我覺(jué)得后者更好用一點(diǎn)。其他軟件則不太清楚。
附加功能有的看似不重要,但在使用過(guò)程中有它真是太好用了??傮w上來(lái)說(shuō),我覺(jué)得PsPad在這一點(diǎn)上做得比較好。
1、進(jìn)制轉換。
UltraEdit、PsPad都具備此功能,后者做得更好一些。
2、選區求和。
UltraEdit、PsPad具備此功能,后者做得更好一些。
3、表達式求值。
只有PsPad具備此功能。
4、Email發(fā)送。
具備此功能的有EditPad Pro、Emacs(需要自己寫(xiě)配置文件)、DreamEdit,但DreamEdit的這項功能在我這邊一直無(wú)法正常運行。
5、文件瀏覽器。
UltraEdit、EditPlus、Edit-minus、EmEditor(最新版本)、PsPad、Vim都具備此功能。
四、可擴展性。
在這方面,最強的據說(shuō)是Emacs,以至于很多人把它稱(chēng)為操作系統,但我不會(huì )用。:(
1、宏。
這點(diǎn)Vim和EmEditor都很強,EmEditor的宏功能支持VBScript、JavaScript、Perl、Python等多種腳本語(yǔ)言,非常強大。Emacs的Lisp也很強,可惜沒(méi)用過(guò)。
2、插件。
EmEditor的插件功能最強,如行號、代碼折疊等功能都可以用插件實(shí)現;而PsPad,插件支持VBScript和JavaScript,能實(shí)現的功能和EmEditor的宏差不多;NotePad++的插件功能也比較強,可以實(shí)現十六進(jìn)制編輯等功能,可惜沒(méi)有提供接口。
五、配置方面。
這點(diǎn)上做得最差的要數SciTe了,雖然功能很強大,但配置文件完全得自己寫(xiě),連一點(diǎn)界面都不給,即使是Vim,也提供了一點(diǎn)簡(jiǎn)單的配置界面。
我對配置的要求是:分類(lèi)準確、功能全面。
UltraEdit的配置非常全面,但有用的不多;EditPlus可以算是簡(jiǎn)潔,而太不全面;EmEditor的平衡把握得不錯;Vim、Emacs主要得靠配置文件;PsPad的配置方法也不錯,既能用界面設置,也提供了直接編輯的接口,但似乎不太全面。
寫(xiě)了這么多,發(fā)現自己最喜歡的編輯器還是EmEditor,其次是PsPad,MadEdit我是從昨天開(kāi)始用的,也很喜歡,只是目前還比不上前二者,但它們還算不上完美,也算不上理想,希望自己有機會(huì )能編個(gè)好用的文本編輯器出來(lái),雖然這個(gè)機會(huì )不知道什么時(shí)候才能有。如果有人想編,希望本文能夠給他一個(gè)很好的借鑒。
聯(lián)系客服