jEdit,尋找“最好”的編輯器

來源:互聯網
上載者:User

我一直在尋找最好的編輯器。Emacs和Vim都是很囂張的編輯器,和Notepad一樣,一般可以當作炫耀的資本。

“哥們,用啥編輯器?”

“嗯……Notepad++”

“你丫不愛國!”

“UltraEdit……(或其他商業編輯器)”

“鄙視,用的盜版吧!”

“Emacs!”

“牛人!”敬仰之情如滔滔江水,連綿不絕……

“Vim!”

“強人!”敬仰之情如滔滔江水……

不過Vim和Emacs經常吵架,說服對方使用自己,企圖一統天下。雖然Notepad表示沒有壓力,但是其他編輯器因為不在一個等級上,想有壓力都不行。

其實我們對有些編輯器神話了。Vim和Emacs不過是古老的編輯器而已,多幾個快速鍵也是迫不得已,因為那時沒有滑鼠。而且我們認為越是難用的軟體越牛逼,其實是在折磨你自己。你能用Emacs,不一定能看得懂Emacs的原始碼;你能用Vim做開發,也不一定能寫出什麼像樣的程式。畢竟Windows下很多程式都是用Visual Studio寫成的。

我在Windows下用Vim幾年了,用來寫程式,加密個日記之類的,都挺不錯,也很方便。網上xBeta的網站推薦非編程人員用Vim,寫的教程很漂亮。我也經常玩Linux,完全沒有壓力,因為會Vi和Regex,在Linux下就會方便很多。

Vim相比Emacs,尤其是在Windows下,方便好用的多。不過也有缺點。Vim只有在utf-8編碼下才能中英文使用不同的字型,其他編碼只能使用一種字型,也就是說,要不你就中文亂碼,要不你就用中文字型顯示英文(我哪個都受不了,終於把所有的東西都搞成utf-8,這在Linux下倒也沒事,在GBK的Windows下,偶爾就有點麻煩)。Vim指令碼執行速度有點慢,外掛程式也不太實用。我安裝過CppComplete,偶爾能用,偶爾不能用,大部分時間都不能用。我安裝了兩個外掛程式c-support和perl-support,Vim的載入時間就和Emacs一個量級了,實在不能接受,只能不用外掛程式。好在Vim本身就挺好的,用不著太多外掛程式。Emacs的速度慢,估計也和他內建的解譯器效能有關,外掛程式一多(Emacs大多數功能都是指令碼實現的),估計就不行了。記得某個Vim外掛程式的作者使用Python指令碼而不是VimScript,他說Python指令碼的速度是VimScript的幾十倍。

Emacs我也體驗過一段時間,配置好了確實好用,但是完全沒有傳說中的那麼神奇。我一開始只是用來學elisp。就我而言,Emacs確實是一個優秀的elisp解譯器和開發平台,但是確實是一個糟糕的編輯器。Emacs的快速鍵有什麼讓人欽佩的地方嗎?進階一點的編輯器都可以為所有的動作設定快速鍵,沒什麼了不起。Emacs的介面做的也夠差,配置也很麻煩,外掛程式的安裝也很糟糕。

我看過Emacs的核心源碼,用來學習elisp的實現,甚至想寫一本《Emacs源碼剖析》,賺點外快,因為目前還沒有人去寫這方面的東西。後來就放棄了,一是沒有太大意義,使用Emacs的人,一種確即時間長了,習慣了,另一種就是拿著Emacs裝逼,實際上平時也不怎麼用的(估計只有裝逼的人會買我的書);二是Emacs的原始碼有點混亂,到了圖形介面的部分,把Windows的結構什麼的全部define成X Window的,實在想不通,即使想保持核心源碼的一致性,也不用這麼變態吧?Emacs居然能在Windows上成功運行起來,我終於發現,Emacs確實是變態程式員寫給變態使用者用的變態編輯器!

jEdit是個低調的編輯器。沒多少人關注,卻不斷髮展。最近我終於熟悉了jEdit,雖然很早之前就用過,但是因為不能顯示中文就放棄了。後來發現顯示中文不是jEdit的問題,而是Java運行時的問題。改一下Java的運行時配置,就可以完美顯示中文(以及中英文字型混合使用)。於是我下載了幾個常用的外掛程式,經過簡單的配置,jEdit已經很好用了!

jEdit的文檔很詳細,學習沒有壓力。jEdit很現代,沒有那種折磨人的快速鍵(當然也有相當數量的快速鍵,並且可以為所有的宏和編輯動作設定快速鍵)。jEdit很強大,她的指令碼(宏)語言是Bean Shell,一個Java解譯器,想想吧,你可以通過Bean Shell調用所有的JDK平台的功能。jEdit外掛程式是編譯好的Java檔案(而不是宏,只有小功能才用宏實現),一般體積小巧,安裝方便,速度優勢沒得說,jEdit安裝十來個外掛程式,啟動速度不會慢到哪。jEdit也有Server架構,可以後台運行,加快啟動速度。jEdit使用Socket通訊,但是看看協助檔案對安全問題的解釋,你就會開心一笑,jEdit的Server要求64位整數隨機密鑰認證,只有本地的Client知道,而且一次錯誤就會使Server關閉。

jEdit的外掛程式都很有用,比如安裝了Scheme外掛程式,就可以系統調整編輯器主題(代碼高亮,不是Swing主題)。內建的有很多不錯的主題,比Vim的強多了。也可以安裝LookAndFeel外掛程式,帶了很多漂亮的Swing主題(當前有Bug,不過一般內建的就夠了,除了代碼高亮,外表的是浮雲)。還有Command外掛程式,有BeanShell和Windows的Console,Dock在下面,好用的很。其他如ProjectViewer,FileBrower、ErrorList、JavaSideKick(Java代碼提示和補全,Java文檔結構顯示)、甚至IRC外掛程式,都很好用。具體的太多了,不細說了。

Vim的加密功能挺好用,後來發現jEdit有兩個宏Encypt_Current和Decrypt_Current,使用Java的加密功能,用MD5和DES演算法加密當前文檔,雖然加密後的檔案和Vim加密的檔案相比,體積大了些,但安全性應該比Vim好吧。

jEdit安裝檔案只有4M多,外掛程式大多體積都很小,而且都是jar檔案。和Vim、Emacs幾十兆的安裝包,和一堆指令檔比起來,小巧乾淨了很多。如果你能去看jEdit的原始碼,清晰度自然也不必說。加上jEdit利用了Java平台和BeanShell,其強大的擴充性能更不必說。我只想說jEdit無論是功能、擴充、跨平台、美觀,都是我目前看到的最令人滿意的編輯器。

簡單配置後的jEdit:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.