提高程式設計師生產力的10大Emacs外掛

linux.cn發表於2016-01-15

一年前的這個時候,我想要尋找將 Vim 打造成一個成熟的全功能的 IDE的最好外掛。有趣的是,那篇文章的很多評論提到了 Emacs 已經大部分有了這些內建外掛,已經是一個很棒的 IDE 了。儘管我對 Emacs 的難以置信的多樣化表示贊同,它依舊不是一個可以開箱即用的高階編輯器。還好,其龐大的外掛庫可以解決這個問題。但在過多的選擇中,有時很難弄清該如何入手。因此,現在讓我試著收集一個不可或缺的外掛的簡短列表,來提升你使用 Emacs 時的工作效率。 雖然我主要側重於與程式設計相關的生產力提升,但是這些外掛對所有人或不同用途都是有用的。

暴增 Emacs 生產力的十大最佳外掛

1. Ido-mode

暴增 Emacs 生產力的十大最佳外掛

Ido 或許是對新手最有用的一個外掛,Ido 的意思是互動式工作(interactively do)。它取代了大部分的用花哨字元匹配選單的枯燥提示。好比說,它用列出了當前目錄所有檔案的列表來取代了常規的開啟檔案提示符。輸入一些字元,Ido 將嘗試匹配最合適的檔案。它通過視覺化讓你的操作變得更容易,這也是一個快速遍歷所有檔案都有相同字首的資料夾的方法。

2. Smex

暴增 Emacs 生產力的十大最佳外掛

它不算最著名的一個、但卻是一個替代 Ido-mode 的好選擇:Smex 可以優雅的替代普通的M-x提示符,靈感大部分來自於 Ido-mode。它也給呼叫M-x後輸入的命令帶來了同樣的互動搜尋能力。它簡單而有效,是一個為常用操作提升效率的最好方法。

3. Auto Complete

暴增 Emacs 生產力的十大最佳外掛

知道這個外掛的存在之前,我在 Emacs 裡面有一半的時間花在敲擊 M-/ 來補完單詞上。現在,我有一個漂亮的彈出選單可以為我做自動補全。無須多說,我們都需要它。

4. YASnippet

暴增 Emacs 生產力的十大最佳外掛

這是真正的程式設計師必備利器。總有一些程式碼片段會讓我們覺得我們一輩子都在寫它。對我來說,就是除錯 PHP 時不斷輸入的 var_dump(…);exit;。經過一段時間一遍又一遍的輸入var_dump(…);exit;,我覺得我可以預先把其做成錄製好的、方便用到的程式碼片段。使用 YASnippets,可以很容易匯入程式碼片段檔案或者自己做個。之後,只要按下一個 tab 鍵,就可以將一個小的關鍵詞擴充套件成一大段預先寫好的程式碼,然後可以很方便地在裡面修改。

5. Org-mode

暴增 Emacs 生產力的十大最佳外掛

免責宣告,我最近才開始使用 Org-mode,但它已經深深的吸引了我。從我看過數以百計的文章來說,Org-mode 可以改變你的生活。它背後的想法很簡單:它是一種用普通文字做簡單備註的模式,可以很容易地在任務列表和各種資料中轉來轉去,並進行一些比如按優先順序或到期日期的過濾,或設定一個重複日期。然而,雖然思路簡單,但你可以做到很多,用各種方法用於各種用途。與其去看一個長長的介紹,我覺得你可以去讀讀現有教程,有很多視訊可以看,自己去體驗一下 Org-mode 是多麼強大。

6. Helm

暴增 Emacs 生產力的十大最佳外掛

一些使用者喜歡它,但是其他人沒有這麼大的使用熱情。我是後者的一部分。但在擁有這樣一個龐大的追隨者的情況下,是不能不提到它的。Helm 旨在完全變換你的 Emacs 使用體驗。簡單來說,Helm 是一個在 Emacs 中幫助你快速找到一個檔案或命令的框架。根據你的輸入,它將嘗試使用詞語自動完成來引導你將大腦的念頭變為行動。起初感覺有點奇怪,但對一些人來說,Helm 本身就是一個信仰。雖然我不是 Helm 的粉絲,我欣賞 helm-occur 這一個偉大的工具可以在一個大文件搜尋字串並且在一個單獨的緩衝區顯示所有匹配結果,以便很容易在它們之間跳轉。如果你正在尋找一個快速演示來了解 Helm 能做什麼,我推薦這篇文章

7. ace-jump-mode

暴增 Emacs 生產力的十大最佳外掛

這是另一個有一大群追隨者的外掛,我正在試圖成為 ace-jump-mode 的粉絲。掌握這個外掛,你會體驗到超越滑鼠感受。簡單描述一下,通過你選擇的快捷方式觸發 ace-jump-mode 後,你會被提示輸入字元。輸入一個字元,所有以該字元開頭的單詞中的那個字元就會替換成一個唯一字元並被高亮。輸入一個螢幕上的高亮字元,你的游標會直接跳轉到高亮顯示的那個詞。我不得不承認,這讓我使用它時有點反應不過來,但是,一旦你掌握它,它將顯著提升你在一個文件裡的移動速度。(LCTT 譯註:用文字描述比較困難,如截圖中,你輸入的是一個“i”,然後螢幕中所有以“i”開頭的單詞中的那個“i”都被替換成了從 a 到 z 的字元,並高亮;你可以輸入這些高亮的字元直接跳轉到那個位置。)

8. find-file-in-project

暴增 Emacs 生產力的十大最佳外掛

如果你喜歡 Sublime text 以及它可以用非常方便的Ctrl-p模糊搜尋來開啟一個專案中的任何檔案的功能,你將會喜歡上 find-file-in-project (簡稱 ffip)的。使用設定指定了您的版本控制的根資料夾後,您可以輕鬆地調出一個很酷的文字條,通過快速掃描和搜尋你的程式碼,來根據你輸入的名稱找到匹配的檔案。我喜歡把它繫結到鍵盤上的 F6 鍵。如果你不知道整個目錄從上到下的複雜結構,這很簡單,而且非常易用。

9. Flymake

暴增 Emacs 生產力的十大最佳外掛

對 IDE 的愛好者來說,我認為語法檢查器是 IDE 最強大的特性之一,它非常適合初學者和方便了那些疲憊的程式設計師。感謝 Flymake,Emacs 使用者也可以享受到了語法檢查器。因為我工作中用 PHP 很多,Flymake 就不需要任何額外的配置。當我寫程式碼的時候,它會自動檢查我的程式碼和高亮任何一個包含問題的行。對於編譯語言,Flymake 將尋找一個用於檢查你的程式碼的 Makefile。真神奇。

10. electric-pair

最後,但並非最不重要,在我看來,electric-pair 是最簡單但最強大的外掛之一。它會自動關閉你輸入的括號。它起初看起來並不是很有用,但相信我,在被尋找配對括號折磨幾百次之後,你會很高興有這麼一個外掛,可以確保你所有的表示式的括號都是一一對應的。

總結一下,Emacs 是一個奇妙的工具。這可不是一個令人驚訝的說法。試試這些外掛,看著你的效率直線飆升吧。這個列表當然不是詳盡的列表。如果你想貢獻你的建議,請在評論中這樣做。我自己一直在尋找新的外掛來試著發現 Emacs 的新體驗。

相關文章