Sublime Text 特色外掛推,持續更新!

Sublime Text 特色外掛推,持續更新!

自從接觸到了sublime text,感覺確實是越用越好用,幾乎所有和文字編輯有關的都離不開它。這一年多蒐集了不少外掛,不敢獨享,拿出來和大家同樂。我用的是Sublime Text 3, 以下所有的外掛以3為準。

網上雖然已經有了很多sublime text的外掛推薦,但是大部分是基於前端開發的,主要是集中在javascript,css和html的開發上,雖然我在教學中也會用javascript寫一些比較絢的slides給學生看,但是我花在javascript上的時間總體上還是很少的,所以這個外掛推薦的文章還是有其存在的意義的。

以下所有我推薦的外掛,均可以在package control 裡面直接輸入查詢並安裝,不喜歡用package Control的也可以在github上安裝:

強烈推薦:

Material Theme: Material介面的theme,讓sublime text徹底的改頭換面! 啥都不說了,上圖!

還有一個外掛 叫做 Material Theme -app bar, 也可以一併裝了,就是上圖中,給當前啟用的視窗一個白條。Sublime Text 有個bug(不是這個theme的bug),在裝了這個theme之後,input panel會被下方的狀態列遮住,解決方法很簡單,用滑鼠拉一次,之後sublime會重新計算邊欄的距離,之後input panel就可以正常顯示了。

下面開始分門別類的介紹:

工具類(無論什麼語言都可能會用得到的):

ColorSchemeSelector:可以快速的切換sublime的ColorSheme,必備外掛。

Origami: 神器!可以任意的操縱sublime的螢幕,比如左右分屏,上下分屏,先上下再左右,先左右再上下。

Git: 名字說明一切,需要的人離不開,不知道這個意思的人也沒有裝這個外掛的必要。這個外掛主要是讓我麼可以在sublime內部直接進行Git的操作,比如commit, push, pull等等。需要主意的是隻支援ssh方式,所以用http方式clone下來的repository可能需要手工的改一下 git remote set-url origin

GitSavvy: 完爆上面的Git外掛,支援很多git的高階功能。

GitGutter:配合Git使用,每次編輯文件的時候都可以看到自己做了那些改動。

Sublimerge Pro: diff神器。可以說是最好的diff軟體,自動把sublime Text的螢幕左右分開,比較兩邊文件的不同,兩邊還可以同步下拉。不過是付費軟體,現在據說是25美元,之前還只要10美元來著……

MacTerminal:快捷鍵可以在當前project的位置開啟terminal,支援iTerm 2 哦!

Terminality:有了terminality,python,C和shell都可以在sublime Text裡面支援終端輸入啦。具體來說,沒有這個外掛的時候,如果你的python程式需要從終端接受輸入,比如輸入消費者年齡,那麼按ctrl b執行的時候就會報錯;但是現在有了terminality,我們可以像在終端裡面一樣執行Python,C,Java和ShellScript。

QuickMail:一個可以在sublime裡面傳送和接受郵件的外掛,非常適合自己寫了一段程式碼,直接快捷鍵傳送給自己的同事或者朋友,很方便。

SublimeLinter:這個不用說了吧,這個外掛本身擁有很多外掛,支援很多語言的語法查錯和格式檢查。

SublimeREPL: REPL的意思是Read—Eval—Print Loop, 通俗的說就是直譯器,極大的方便了除錯。 裝了之後支援在sublime裡面內部開一個視窗ipython,於是我們就更加不需要終端啦。這個也有很多的外掛,我用這個實現了Java和C的REPL,可惜這個外掛的作者現在很少更新,至今我的推送還在pull request裡面。

CnDict: 中英文字典軟體,快捷鍵查詞,目前支援金山詞霸和有道詞典。

Hex Viewer:非常好的二進位制檢視和編輯器。

Ctags:通過build index,可以實現比內建的GO TO DEFINITION功能更好的“跳轉到定義”的功能。

WhocalledFunctionFinder:sublime可以從函式名跳轉到定義,但是不能夠從定義跳轉到函式呼叫,這個外掛模擬的是ctags的逆向操作,從定義跳轉到呼叫。和ctags配合,基本上和IDE差不多了,當然, ctags和whocalled只是正則匹配,他們不能夠真正理解你的程式碼。

備註:對於python而言,ctags 和whocalled都是不必要的,一個anaconda就夠了。

BracketHighlighter: 有個笑話,說前蘇聯間諜花了巨大的代價,偷到了阿波羅飛船的最後一屏的程式碼,發現全部是 }。 Java不比python的縮排,是需要用大括號來表示作用域的,所以有一個能夠高亮顯示大括號範圍的至關重要。安裝了這個外掛之後,游標移動到大括號左右的時候,在螢幕左邊會出現該括號的範圍,可以幫助我們檢查是不是漏了括號。

FindKeyConflicts:外掛太多之後,很容易碰到快捷鍵衝突,這個軟體可以找到衝突的快捷鍵,以便於讓我們解決它們。

FuzzyFileNav :可以把sublime text當作一個簡易的檔案管理器使用。

HiveOpener: 國人開發的軟體,可能因為說明是中文寫的,所以不是很知名,但是非常的好用,可以自己設定快捷列表,用快捷鍵開啟檔案或者資料夾。

YouCompleteMe: 之前那兩個外掛都是基於文字的分析,用正則匹配來尋找相似的字串。並不能真正的理解程式。但是YouCompleteMe的出現徹底的終結了這個歷史,文字編輯器也能夠用上IDE的語義分析自動補全啦!這個畢竟是client server結構的,所以安裝起來有點複雜,但是你絕對不會為之後悔的!Ctags可以解除安裝啦,WhocalledFunction可以扔啦,Anaconda的自動補全也可以關閉啦,一切都交給YouCompleteMe!直接支援C family的語言,Python,Rust, Go,通過外掛可以支援Javascript, Java, 基本上主流的語言都可以用了。我會寫一篇獨立的文章來講YouCompleteMe和sublime text的安裝和配合的。

YCMDCompletion: 這個就是配合YouCompleteMe後端的。不過建議只用來進行C系語言的語義分析,因為python有anaconda,Rust有RustAutoComplete.

Python 類

MagicPython: 更好的python語法高亮,類似的還有Python improved,選一個就好了。

Anaconda: python必備,直接把sublime text轉變成python的輕量級IDE,實時糾錯,check style,自動完成,python神器沒商量。並且開發者很活躍,如果真的使用這個外掛遇到問題,直接提交一個issue,很快就能獲得回覆。我之前使用過SublimeCodeIntel 和Jedi,但是後來還是把這倆解除安裝掉了改用Anaconda. Ananconda的python格式檢查和自動糾錯,已經全面超越了sublime linter的pep8和pyflakes。

SublimeLinter-pep8, SublimeLinter-pyflakes: 我唯獨沒有開啟的功能就是Ananconda的linter。因為在語法查錯,規範格式方面,我還沒有找到比sublimeLinter的外掛pep8和 pyflake 更好的。開啟著sublimeLinter寫python,媽媽再也不用擔心我寫的程式碼不合規範了。

PyYapf:有的時候,pep8和pyflake也無能為力,比如你寫了一個超級長的呼叫,XXX(xyz).AAA(bcd).BBB(efg).CCC… 雖然我們都知道這樣不好,但是有些時候函式名或者變數名就是太長了……這個時候寫完之後用PyYapf格式一次,它就會自動的幫你整理一次程式碼,該分行分行,該歸類歸類。

Java 類:

Javatar: 這是一個類似於Ananconda在python裡的存在,儘管完善程度目前還遠遠不如。作者說這個外掛的目的是要把sublime變成一個輕量級的Java IDE。從目前的使用情況來看,部分實現了,比如自動完成和語法高亮,以及用javac的xlint 檢查格式。新的2.0 prebeta版加入了更多的功能,比如後臺編譯等等。基本上但是和Ananconda的體驗相比,還比較初級。但是Javatar是我們目前所有的java外掛中最好的 —— 也是唯一的選擇, (逃

SublimeAStyleFormater: Java的自動格式整理,類似於上面的PyYapf。

前端類:

我對前端開發不太熟悉,主要是用javascript,css和html寫一些網頁動畫給學生,展示經濟學模型。所以前端神器emmet在我這裡的用處不是太大(我的前端程式碼量不大)用到的有以下一些外掛:

JSHint:檢查Javascript的錯誤。

CSS3 : 一個更好的CSS語法高亮。

HTML5:一個更好的HTML5語法高亮。

JavaScriptNext – ES6: 一個更好的JavaScript 語法高亮。

LiveReload:壓軸神器! 這個外掛非常重要。在瀏覽器 (chrome,firefox,safari上也裝上相應的外掛),在sublime裡面的修改,在瀏覽器裡面可以實時的看到。有了LiveReload,極大提高了我編碼的效率,之前簡直痛苦,微調網頁元素能夠實時預覽的意義怎麼強調都不為過啊。可惜不再更新了……

Web Inspector: 這才是真正的壓軸神器,什麼LiveReload那都弱爆了,一個不更新的東東,繼續支援是沒有前途滴! web inspector在各個方面都比live reload做得更好,還能夠單點除錯!

Rust類

RustAutoComplete: Rust 的語義分析自動完成,基於racer。

Rust: Rust 的syntax file,現在已經整合進sublime 安裝包了。

文件/寫作類:

Latexing: Latex寫作是學者的基本,Latexing外掛是目前最好的Latex外掛沒有之一,雖然是付費的,但是價格不貴,並且支援、更新都非常到位。Latexing也是支援實時預覽的。在OSX下面配合Skim PDF瀏覽器,可以隨時編譯latex原始碼並且定位到PDF上,非常方便寫作。有了Latexing之後,我徹底拋棄了Latexian,latex Pad等一干軟體,用sublime Text作為自己工作的主要編輯器。

MarkdownEditing: 這個我主要用來寫行政上的文件和出版的圖書,用markdown格式寫了之後,配合Pandoc可以任意轉成Word,PDF或者RTF.關於Markdown寫作還有一些其他的外掛,有的功能似乎更加的強大,但是我感覺MarkdownEditing已經夠用了。畢竟嚴肅的文件我都是用Latex來寫的。用Markdown作為主力的可以考慮一下: MarkdownPreview.

Pandoc:用法我在上面已經講完了……

WordCount: 名字說明一切,就是在狀態列裡面顯示字數統計的小外掛。

Linux 管理:

Generic Config: Linux Config 文件的語法高亮。

SFTP : 又是一個神器。Wbond真的為Sublime Text社群做了不少貢獻啊。這個軟體的存在,讓sublime Text在工作中取代Vim和Emacs成為了可能。比如我要遠端管理我的blog伺服器,就可以用SFTP這個外掛用SSH登入到遠端伺服器,用sftp的subsystem來sudo獲得訪問系統檔案的許可權,然後在本地的sublime上優雅的修改伺服器上的配置檔案,就如同修改本地文件一樣。