五款 Linux 文本編輯器測評
目錄:
Gedit
- URL:http://projects.gnome.org/gedit/
- 版本: 3.10
- 許可證: GPL
- Gnome的默認文本編輯器準備好挑戰了嗎?
Kate
- URL: www.kate-editor.org
- 版本: 3.11
- 許可證: LGPL/GPL
- Kate會挑戰命運嗎?
Sublime Text
- URL: www.sublimetext.com
- 版本: 2.0.2
- 許可證: Proprietary
- 在自由的土地上的帶有黃金般的心臟的專利軟體。
UltraEdit
- URL: www.ultraedit.com
- 版本: 4.1.0.4
- 許可證: Proprietary
- 足夠證明它的價值了嗎?
jEdit
- URL: www.jedit.org
- 版本: 5.1.0
- 許可證: GPL
- 基於Java的編輯器是否會毀掉其他編輯器的世界?
關鍵標準
除了Gedit和jEdit以外的所有工具,都是通過其推薦的安裝方法安裝在Fedora和Ubuntu上。前者已經兼容默認的Gnome桌面,後者仍然固執地反對安裝在Fedora上。由於這些是相對簡單的應用程序,他們沒有複雜的依賴,唯一例外的是jEdit,它要求要有Oracle Java。
得益於Gnome和KDE持續的努力,所有編輯器無論在哪個桌面上的外觀看起來很好,功能也很正常。這不僅是作為評價的標準,也意味著你不再受制於你的桌面環境兼容的工具。
除了它們獨特的功能,我們也對所有候選者測試了常規的文本編輯功能。然而,它們並沒有被設計為模仿現代字處理器的所有功能,我們也不以此評判。
編程語言支持
UltraEdit 能進行語法高亮、代碼摺疊以及擁有項目管理的能力。也有一個羅列源文件中所有函數的功能列表,但並不適用於我們測試的任何代碼文件。UltraEdit也支持HTML5,有一個能添加常用HTML標記的HTML工具欄。
即使Gnome的默認文本編輯器Gedit,也有幾個面向編碼的功能特性,例如括弧匹配、自動縮進以及為包括C, C++, Java, HTML, XML, Python, Perl, 以及許多其它編程語言進行語法高亮。
如果你需要更多的編程輔助功能,看一下Sublime和Kate。
Sublime支持多種編程語言並且能為(那些流行的)C#, D, Dylan, Erlang, Groovy, Haskell, Lisp, Lua, MATLAB, OCaml, R, 甚至 SQL 進行語法高亮。如果這還不夠,你可以下載插件以支持更多的語言。另外,它的語法高亮功能提供了多個可定製選項。這個應用程序也會進行括弧匹配,確保代碼段都正確,Sublime的自動補全功能也支持用戶創建的變數。就像Komodo IDE,Sublime也可以顯示一個全部源代碼的滾動預覽圖,這對於長代碼文件導航和在文件中的不同部分跳轉很方便。Sublime最好的功能之一就是能在編輯器內部運行特定語言,例如C++, Python, Ruby等的代碼,當然假設在你的電腦上安裝有編譯器以及其它系統工具。省時間而且不用再開終端.
你也可以用插件在Kate中開啟構建系統功能。另外,你可以為GDB調試器添加一個簡單的前端。Kate能和Git,Subversion以及Mercurial版本控制系統一起工作,也提供了一些項目管理的功能。除了能為超過180種語言進行語法高亮,它支持所有的這些輔助功能,例如括弧匹配,自動補全和自動縮進。它也支持代碼摺疊,甚至在一個程序中摺疊函數。
唯一的遺憾的是jEdit,它聲稱自己是一個程序員的文本編輯器,但它缺少其他的基本功能,例如代碼摺疊,它甚至不能提示或者補全函數.
評分:
- Gedit:3/5
- Kate:5/5
- Sublime:5/5
- UltraEdit:3/5
- jEdit:1/5
鍵盤控制
高級文本編輯器的用戶希望能完全通過鍵盤控制和操作,一些應用程序甚至支持用戶自定義快捷方式的鍵盤綁定。
你可以輕鬆的使用Gedit的擴展鍵盤快捷鍵。可以在編輯文件時通過工具的快捷鍵調用工具,例如對一個文檔進行拼寫檢查。你可以看到應用程序內部的一系列默認快捷鍵,但並沒有圖形化的方式去自定義它們。相似的,在Sublime中自定義鍵盤綁定,你需要修改它的XML的鍵盤映射文件。Sublime由於缺少定義鍵盤快捷鍵的圖形化界面而飽受批評,但長期使用的用戶支持當前的基於文件的機制:這給了他們更多的控制能力。
UltraEdit為它"一切都可自定義"的座右銘感到自豪,這也包括鍵盤快捷鍵。你可以自定義菜單導航的熱鍵,以及定義你自己的訪問大量功能的組合鍵映射。
除了完全可自定義的鍵盤快捷鍵以外,jEdit也有為Emacs預定義的鍵映射。Kate在這方面尤其令人映像深刻。它有簡單可訪問的自定義鍵綁定窗口。你可以更改默認的鍵,或者定義替代的鍵。另外,Kate也有一個能使用戶使用Vi鍵操作Kate的Vi模式。
評分:
- Gedit:2/5
- Kate:5/5
- Sublime:3/5
- UltraEdit:4/5
- jEdit:5/5
片段和宏
宏通過自動化重複的步驟幫助你降低花費在編輯和組織數據上的時間,而代碼片段通過創建可重用的源代碼塊為程序員擴展類似的功能。這兩者都能節省你的時間。
標準的Gedit安裝沒有這兩種功能中的任何一種,但是你可以通過獨立的插件啟用這些功能。片段插件隨Gedit一起發布,但在Gedit內啟用宏插件,則需要你手動下載和安裝(被稱為gedit-macropy,託管在GitHub上)。
Kate也同樣通過插件的形式啟用片段功能。一旦加入,插件也增加了PHP,Bash和Java的片段庫。你可以在側邊欄中顯示片段列表以便於訪問。可以通過右擊片段或者快捷鍵組合方式編輯它的內容。然而,令人驚訝的是,它不支持宏-儘管用戶從2002年就不斷要求!
jEdit也有一個啟用片段的插件。它還可以從用戶行為中記錄宏或者你也可以用BeanShell 腳本語言(BeanShell支持像Perl和JavaScript那樣將腳本對象封裝為簡單的方法)中寫宏。jEdit也有一個可以從jEdit的網站中下載多種宏的插件。
Sublime有創建片段和宏的內建功能,也有為大多數編程語言經常使用的函數多種片段。
在UltraEdit中片段被稱為智能模板,就像Sublime中一樣,你可以根據正在編輯的源代碼文件類型插入片段。要完成宏記錄功能,UltraEdit還有集成了一個基於JavaScript的腳本語言引擎來完成自動任務。你也可以從該編輯器的網站中下載用戶提交的宏和腳本。
評分:
- Gedit:3/5
- Kate:1/5
- Sublime:5/5
- UltraEdit:5/5
- jEdit:5/5
易用性
不像那些簡陋的文本編輯器,這些文本編輯器在這方面可以適應從文檔寫作者到程序員的各種用戶的需要。與精簡應用程序相反,他們的開發者在尋找添加更多功能的途徑。
儘管第一眼看上去這次測評中的大部分應用有一個很相似的布局,經過仔細的檢查,你會發現一些可用性的差異。我們通過用戶界面的合理使用來介紹它們的功能和特性,而不是鋪天蓋地地告訴讀者。
Gedit: 4/5
Gedit的外觀很普通,它有一個帶有很少的菜單和按鈕的簡單界面。這是一把雙刃劍,因為有些用戶可能不會發現它真正的潛能。
Gedit可以在選項卡中打開多個文件,這些選項卡可以重排和在多個 Gedit窗口之間移動。用戶可以選擇通過插件來啟用側邊欄來瀏覽文件或者在底部面板顯示工具輸出內容。這個應用程序會檢測到被其它應用程序更改的文件並可以重新載入該文件。
為了適配Gnome,在應用程序的最新版本中做了大量的 UI 修改。然而修改還還不穩定,儘管包括了所有的功能,但是菜單交互的一些插件還需要升級。
在功能與界面之間取得了良好的平衡,Gedit將其大部分功能隱藏在背後。
Kate: 5/5
儘管用戶界面的主要部分和Gedit相似,Kate可以在兩邊顯示選項卡並且它的菜單更加豐富。該應用程序平易近人,吸引用戶來挖掘它的其它功能。
Kate可以在KDE的KIO支持的所有協議上透明地打開和保存文件,包括通過HTTP, FTP, SSH, SMB 和 WebDAV。你可以用這個應用同時處理多個文件。但不同於大部分應用程序傳統的水平選項卡選擇欄,Kate在屏幕的兩個方向都有選項卡。左側的側邊欄顯示打開的文件列表。需要同時查看一個文件不同部分的程序員也會感激它可以水平或者豎直分隔界面的能力。
Kate能搭建為功能豐富的集成開發環境。
Sublime: 5/5
Sublime支持你在不同方式同時查看多達四個文件。當你在集中精力編程時,它也有一個只顯示文件和菜單的全屏無擾模式。
這個編輯器還在右邊有個縮略地圖,這在長文件中導航非常有用。應用程序為多種編程語言提供多種常用函數的片段,這使得它對於開發者非常有用。另一個精巧的功能是,無論你使用都是文本文檔或者代碼,都可以任意選擇和替換。
如果你不喜歡Sublime的Charcoal外觀,你可以選擇它包含的其它22種主題。
UltraEdit: 3/5
UltraEdit在界面的頂部和底部載入了多種工具欄。加上切換文檔的選項卡、兩邊的面板,以及分隔區域,使得只剩下一點空間給編輯窗口。
使用HTML的網路開發者有很多唾手可得的幫助。你可以通過FTP和SFTP訪問遠程文件。高級功能,例如記錄一個宏以及比較文件,也簡單易用。
使用應用程序的偏好設置窗口,你可以調整應用程序的多個方面,包括顏色主題和類似語法高亮的其它功能。
UltraEdit的用戶界面是高度可配置的 — 你可以像改變其它許多方面那樣簡單的自定義工具欄和菜單的布局。
jEdit: 3/5
在可用性方面,首先一個不好就是jEdit不能在基於RPM的發行版上安裝。導航編輯器需要一些時間來適應,因為它的菜單和其它流行的應用程序順序不同,而且有些普通桌面用戶不熟悉的名字。但是,該應用程序有詳細的內部幫助,這有利於緩解學習曲線。
jEdit會高亮你所在的當前行,並使你能以多種查看方式分隔窗口。你可以簡單地從應用程序中安裝和管理插件,除了使用完整的宏,jEdit也支持你快速記錄一個臨時的宏。
由於它的Java基礎,jEdit在任何桌面環境中都不能給人賓至如歸的感覺
可用性和支持
在Gedit和Kate之間有很多相似性。兩個應用程序都得益於他們各自的父項目,Gnome和KDE,捆綁在各種主流的發行版中。另外兩個項目都是跨平台的,有Windows和Mac OS X版本以及原生的Linux版本。
Gedit託管在Gnome的網站上,並有一個簡單的用戶指南、關於多種插件的信息,以及包括郵件列表和IRC通道在內的常用聯繫方式。你也可以在其它基於Gnome的發行版,例如Ubuntu中找到使用信息。相似地,Kate得益於KDE的資源,並包括詳細的用戶信息以及郵件列表和IRC通道。你也可以從應用程序中獲取相應的離線用戶指南。
除了Linux,UltraEdit在Windows和Mac OS X中也可用,雖然在應用程序中並沒有包括,但在啟動時也有詳細的用戶指南。為了輔助用戶的使用,UltraEdit保存了一個常見問題的資料庫,一系列關於多種特定功能的詳細介紹,用戶還可以在論壇版塊彼此幫助。另外,付費用戶也可以通過郵件從開發者中獲取支持。
Sublime支持一樣多的平台,但是你需要單獨為每種平台購買許可證。開發者通過博客讓用戶了解正在進行的開發,並積极參加它的論壇。這個項目支持設施的亮點是提供免費的詳細教程和視頻課程。Sublime非常漂亮。
由於jEdit是用java編寫的,所以它在多種平台中都可用。在它的網站上你可以找到一個詳細的用戶指南以及一些插件幫助文檔的鏈接。然而,這裡沒有能使用戶和其他用戶或者開發者交流的途徑。
評分:
- Gedit:4/5
- Kate:4/5
- Sublime:5/5
- UltraEdit:3/5
- jEdit:2/5
附加組件和插件
不同的用戶有不同的需求,一個簡單的輕量級應用程序只能做到這麼多。這就是為什麼需要插件的原因。應用程序依賴於這些小部件來擴展它們的功能集並讓更多的用戶使用。
UltraEdit是一個例外。它沒有第三方插件,但開發者將例如HtmlTidy這樣的第三方工具集成到了UltraEdit。
Gedit附帶了好多已安裝的插件,你可以下載更多的更多gedit插件包。基於和Gedit版本的兼容性,項目網站也有到多個第三方插件的鏈接。
三個對程序員非常有用的插件是:Code Comment、在底部面板增加一個終端的Terminal Plugin以及Session Saver。當你用多個文件開發項目的時候Session Saver相當有用。你可以在選項卡中打開文件,保存會話,你可以用一鍵恢復,就可以按照你保存時的選項卡順序打開所有的文件。
類似的,你可以通過用內部的插件管理器增加插件來擴展Kate。除了令人映像深刻的項目插件,一些開發者使用的插件包括嵌入式終端,它能編譯和調試代碼,以及對資料庫執行SQL查詢。
Sublime的插件是用Python寫的,文本編輯器包括了一個類似於apt-get,能使用戶查找,安裝,升級和移除插件包的名為Package Control的工具。通過插件,你可以在Sublime中使用Git版本控制,以及美化JavaScript代碼的JSLint工具。Sublime Linter能指出你代碼中的錯誤,是編碼人員必備的插件。
jEdit擁有最令人印象深刻的插件設施。該應用有超過200個插件,可以在它們自己的專用網站中瀏覽。網站通過不同的類型列出了插件,例如文件管理,版本控制,文本等。你可以在每個類型下找到很多的插件。
一些最好的插件是Android插件,它們提供了和Android項目協同工作的工具;你可以使用TomcatSwitch插件創建和控制外部Jakarta Tomcat伺服器進程;以及類似於Vi功能的Vimulator插件。你可以通過使用jEdit的插件管理器安裝這些插件。
評分:
- Gedit:3/5
- Kate:4/5
- Sublime:4/5
- UltraEdit:1/5
- jEdit:5/5
純文本編輯
儘管它們強大的額外功能甚至可能會取代幾種完全成熟的應用程序,有時候可能只需要使用這些龐大的文本編輯器讀、寫或者編輯簡單的純文本。雖然你可以使用它們中的任何一個輸入文本,我們通過普通文本編輯的方便性評價它們。
Gnome的默認文本編輯器Gedit,支持取消和重做機制以及搜索和替換。它可以對多種語言進行拼寫檢查,並能通過使用Gnome GVFS庫訪問和編輯遠程文件。
你也可以使用Kate進行拼寫檢查,它也可以讓你對任何高亮文本進行Google搜索。它還有一個能可視化告知用戶文件中更改過但沒有保存的行的行修改系統。另外,它通過允許用戶在文件中使用書籤簡化長文檔的導航。
Sublime有很多可選擇的編輯命令,例如縮進文本和格式化段落。它的自動保存功能幫助防止用戶丟失他們的更改。高級用戶還會喜歡基於正則表達式的遞歸查找和替換功能,以及選擇多個不連續的文本塊並執行統一操作。
UltraEdit也允許用戶在查找和替換功能中使用正則表達式,並能通過FTP編輯遠程文件。
JEdit一個獨特的功能是它支持被稱為寄存器的不限數目的剪切板。你可以複製文本片段到這些寄存器中,在編輯會話過程中都可用。
評分:
- Gedit:4/5
- Kate:5/5
- Sublime:5/5
- UltraEdit:4/5
- jEdit:4/5
我們的評比
在這裡的所有編輯器都足以替換你已有的文本編輯器,來編輯文本和調整配置文件。事實上,沒準它們會組合起來作為你的集成開發環境。這些應用程序都有各種各樣功能,它們的開發者不會考慮剝離功能,而是增加越來越多的功能。
jEdit排在這次測試的最後面。因為它不僅堅持使用專有的Oracle Java運行時環境,不能在你的Fedora機器上安裝,而且開發者並不積極和用戶交互。
UltraEdit做的稍微好一點。這個商業專用工具專註於網路開發者,不為非開發者的高級用戶提供任何功能,使得它不值得推薦為免費軟體的替代品。
排在第三的是Gedit。作為Gnome的默認編輯器,它沒有任何內在的問題,但儘管有很多積極的方面,它還是略微被Sublime和Kate超越。開誠布公地說,Kate是比Gedit更通用的編輯器,甚至考慮到他們的插件系統,評分也優於Gnome的默認編輯器。
Sublime和Kate都相當好。他們在我們的大多數測試中表現同樣出色。Kate由於不支持宏而落後於Sublime,但鍵盤友好和能簡單定義自定義鍵綁定又使Kate找回優勢。
Kate成功的原因可以歸結為它通過最小化學習曲線提供了最大化的功能。儘管使用它吧,不僅作為簡單文本編輯器使用,或者容易使用語法高亮編輯配置文件,甚至得益於其項目管理能力能使用它協作一個複雜的編程項目。
我們不是選擇Kate去替換一個類似「[XX,在這裡插入你最喜歡的專業工具]」的全面的集成開發環境。但是它是一個專業工具理想的、全面的、以及完美的墊腳石。
Kate為能快速響應你的需要而設計,它的界面並不會使你茫然,並且和那些過於複雜的應用一樣的有用。
1st Kate
- Licence LGPL/GPL Version 3.11
- www.kate-editor.org
- 擁有超能力,態度溫和的文本編輯器。
- Kate是KDE項目中最有用的應用程序之一。
2nd Sublime Text
- Licence 專利 Version 2.0.2
- www.sublimetext.com
- 值得你每分錢的專業文本編輯器 - 簡單易用,功能全面而且看起來很棒。
3rd Gedit
- Licence GPL Version 3.10
- http://projects.gnome.org/gedit
- 在Gnome中就用它吧。這是一個奇妙的文本編輯器,確實令人欽佩的工作,但這裡的競爭實在太大了。
4th UltraEdit
- Licence Proprietary Version 4.1.0.4
- www.ultraedit.com
- 關注於為網路開發者提供各種便利,而不為普通用戶提供任何特殊功能。
5th jEdit
- Licence GPL Version 5.1.0
- www.jedit.org
- 缺乏支持,不支持Fedora,缺乏好看的界面,jEdit被貶低到最後。
你也許希望嘗試…
隨你發行版發布的默認文本編輯器也能幫助你一些高級任務。例如KDE的KWrite和Raspbian的Nano。得益於KDE的katepart組件,KWrite繼承了一些Kate的功能,得益於在樹莓派上的可用性,Nano也開始重現風頭。
如果你希望跟隨Linux大師的腳步,你總是可以嘗試高大上的文本編輯器Emacs和Vim。想嘗試Vim強大的用戶首先可以考慮gVim,它通過圖形界面展現了Vim的強大。
除了jEdit和Kate,這裡還有其他模仿Emacs和Vim之類的舊式高級編輯器的編輯器,比如JED 編輯器和Joe's Own Editor,這兩者都有Emacs的模擬模式。另一方面,如果你在尋找輕量級的代碼編輯器,可以看看Bluefish和Geany。他們的存在是為了填補文本編輯器和全面集成的開發平台之間的空隙。
via: http://www.linuxvoice.com/text-editors/
作者:Ben Everard 譯者:ictlyh 校對:royaso,wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive