Sublime Text 2 - 性感無比的跨平臺代碼編輯器!程序員必備神器!

轉自:http://www.iplaysoft.com/sublimetext.html

現在寫C++代碼用這個還不是很方便,還是以後寫python,PHP,或者LaTex之類的代碼才用吧!一下是介紹。

代碼編輯器或者文本編輯器,對於程序員來說,就像劍與戰士一樣,誰都想擁有一把可以隨心駕馭且鋒利無比的寶劍,而每一位程序員,同樣會去追求最適合自己的強大、靈活的編輯器,相信你和我一樣,都不會例外。

我用過的編輯器不少,真不少~ 但卻沒有哪款讓我特別心儀的,直到我遇到了 Sublime Text 2 !如果說“神器”是我能給予一款軟件最高的評價,那麼我很樂意爲它封上這麼一個稱號。它小巧綠色且速度非常快,跨平臺支持Win/Mac/Linux,支持32與64位,支持各種流行編程語言的語法高亮、代碼補全等,但它有着很多其他編輯器沒有的超酷的特性,讓它的好用達到了前所未有的程度……

1.關於 Sublime Text 2:

曾經有人說過,世界上有兩種編輯器,好用和不好用的;而在好用的編輯器中,又分兩種,免費的和死貴死貴的。譬如說 VIM 和 TextMate,就是免費和死貴的典型。很不幸,今天的主角 Sublime Text 2 也是個死貴死貴的代表,它是一款收費的商業軟件,個人授權費高達 59 美刀

Sublime Text 2

不過大家不用慌,雖然它很貴,但作者很厚道地給用戶們提供了免費無限制無限期的試用權,它只會偶爾提醒一下你木有購買,而且頻率也很低,僅此而已,一直免費使用下去幾乎是沒有任何影響的。另外值得一提的是,用戶購買一個授權即可同時在不同平臺上使用,對於像我這種經常需要在 Mac 和 Win 之間切換使用的用戶來說的確能省下一筆錢了。

因爲 Sublime Text 2 編輯器的特性和使用技巧實在太過多,本人也未算用得精通,所以無法一一列舉展現,只能選幾個我認爲比較有特色的特點進行介紹,而且這裏也沒有篇幅去介紹各種編輯技巧、快捷鍵使用之類的了。如果你願意花時間折騰一下,你會發現它的能力是遠超本文介紹的那麼幾點的,所以本文只能算是拋磚引玉吧,希望大家有好的技巧可以分享出來。

2.語法高亮、代碼提示補全、代碼摺疊、自定義皮膚/配色方案、多便籤頁:

SublimeText2 支持但不限於 C, C++, C#, CSS, D, Erlang, HTML, Groovy, Haskell, HTML, Java, JavaScript, LaTeX, Lisp, Lua, Markdown, Matlab, OCaml, Perl, PHP, Python, R, Ruby, SQL, TCL, Textile and XML 等主流編程語言的語法高亮。ST2 擁有優秀的代碼自動完成功能 (自動補齊括號,大括號等配對符號;自動補全已經出現的單詞;自動補全函數名),非常智能;另外 ST2 也擁有代碼片段(Snippet)的功能,可以將常用的代碼片段保存起來,在需要時隨時調用。當然,語法高亮、代碼摺疊、行號顯示、自定義皮膚、配色方案等這些已經是一款現代編輯器應有的標配功能了,所以這裏就不多做介紹了。

代碼提示補全功能實用方便的代碼提示補全功能

3.代碼地圖、多種界面佈局與全屏免打擾模式:

Sublime Text 2 在界面上比較有特色的是支持多種佈局和代碼地圖,也提供了 F11 和 Shift+F11 進入全屏免打擾模式,文字難描述,看下圖吧。往右邊拉可以看到更多圖>>

代碼地圖與多標籤頁代碼地圖與多標籤頁
多種佈局設置,在大屏幕或需同時編輯多文件時尤爲方便多種佈局設置,在大屏幕或需同時編輯多文件時尤爲方便
全屏免打擾模式,更加專心於編輯全屏免打擾模式,更加專心於編輯

4.完全開放的用戶自定義配置與神奇實用的編輯狀態恢復功能:

Sublime Text 2 的各種配置均由配置文件控制,完完全全的可以由用戶自定義,如果你願意折騰,甚至可以將它改得於原版完全不一樣的操作體驗。看下面的圖,Setting - Default 菜單會打開默認的軟件配置文件(這個文件會記錄一些諸如使用什麼字體等很多很多配置信息),Key Bindings - Default 是默認的快捷鍵配置文件,大家可以打開它們看看原本的一些設置是怎樣配置的,但非常不建議直接在這裏修改!你可以在 - User 結尾的文件(也就是用戶自定義配置的意思)裏面照樣畫葫蘆那樣來改,如果兩邊有相同的項目,它會以 - User 文件裏面定義的爲準。

用戶自定義配置

這個例子裏我在 Key Bindings - User 裏面的第一行:{ "keys": ["alt+up"], "command": "swap_line_up" }, 意思就是按 Alt+方向鍵上時將當前選擇的那一行向上移(與上一行交換位置),如果語法神馬的沒問題,保存好這個文件之後馬上就可以使用這個快捷鍵了。

Sublime Text 2 的快捷鍵還支持雙重組合,譬如默認情況下,將選中的文字改成大寫的熱鍵是“Ctrl+K, Ctrl+U”,意思是當你先按下 Ctrl+K 之後迅速再按 Ctrl+U 進行觸發(只按下Ctrl+K是沒有作用的),這樣可以避免很多熱鍵衝突,也可以更靈活更多選擇地進行熱鍵自定義。不過在這裏就不打算教大家怎樣修改各種配置或修改熱鍵了,這恐怕能出一個手冊的,這裏有一個套比較完整的官方文檔(鳥語),有興趣的朋友可以去參考一下。

另外,SublimeText  還有一個值得一提的細節——”編輯狀態恢復”,就是當你修改了一個文件,但沒有保存,這時退出軟件,ST2是不會很煩人地提示你要不要保存的,因爲無論是用戶自發退出還是意外崩潰退出,下次啓動軟件後,你之前的編輯狀態都會被完整恢復,就像你退出前一樣。這個細節我認爲非常非常的贊!因爲我經常會嘗試性地去修改一些地方,但在確保沒有問題之前又不想保存,這時如果有些事情打斷自己,需要離開時,這個特性就很有用了,直接退出就行,不用煩,下次回來打開軟件繼續編輯即可。當然,有了這個恢復特性再也不怕系統崩潰、斷電了吧,真心讓人覺得ST2特別特別的安全可靠,妥妥的啊!

5.強大的多行選擇和多行編輯:

在寫代碼的過程中,我們經常需要同時編輯多行代碼或者多個變量。在 Sublime Text 2 中擁有非常實用的多行操作技巧,靈活運用可以大大提高編輯速度喲!相信日後你可能會這樣問自己:“當年沒有這種方式的編輯器時我究竟是怎麼活過來的?!”

下面是一些我所瞭解的多行編輯方法:
鼠標選中多行,按下 Ctrl+Shift+L (Command+Shift+L) 即可同時編輯這些行;
鼠標選中文本,反覆按 CTRL+D (Command+D) 即可繼續向下同時選中下一個相同的文本進行同時編輯;
鼠標選中文本,按下 Alt+F3 (Win) 或 Ctrl+Command+G(Mac) 即可一次性選擇全部的相同文本進行同時編輯;
Shift+鼠標右鍵 (Win) 或 Option+鼠標左鍵 (Mac) 或使用鼠標中鍵可以用鼠標進行豎向多行選擇;
Ctrl+鼠標左鍵(Win) 或 Command+鼠標左鍵(Mac) 可以手動選擇同時要編輯的多處文本
類似的技巧還有很多,求大家補充……

多行編輯Shift+鼠標右鍵輕鬆實現多行編輯,批量給變量加前綴了

6.雷電般快速的文件切換:

如果你同時打開了多個文件,或者你的項目裏經常需要編輯不同的文件,在文件數量較多的時候,在過去往往需要花費很多的精力去尋找,很是煩人。而現在,Sublime Text 2 裏只需按下 Ctrl+P(Win) 或 Shift+Command+P(Mac) 即可調出文件切換面板,接着你只需輸入文件名,回車後即可瞬間切換過去!並且它支持模糊匹配,只需輸入你記得的一部分即可,譬如我想要找一個“www.iplaysoft.com.php”的文件來編輯,那麼你只需要輸入“ipl”或者是”ips.c”這樣的字符都能匹配出來,這個特性非常非常的棒!

快速切換文件圖中 ca 匹配了 capabilities.php 和 classese.php,選擇就能快速切換

類似的功能,我只在類似 Eclipse 等大型(笨重)的IDE中才見到過,然而小巧快速的編輯器中,我還是首次遇到。使用這個功能,你除了可以在已打開的文件中切換之外,如果你使用項目管理(將一個文件夾設置成一個項目),它還能懂得去搜索匹配項目文件夾下未被打開過的文件。現在你還需要用鼠標去一個一個點標籤頁來切換嗎?你還要打開“我的電腦”慢慢在各個不同文件夾去找需要編輯的文件嗎?使用ST2,你只需輸入幾個字符即可~只有一句話:前所未有的方便!

7.隨心所欲的跳轉:快速羅列與定位函數/HTML的元素、跳轉到指定行

使用上面介紹的快速文件切換功能,可以很輕易地打開/切換到自己想要編輯的文檔了,但如果這個文件的代碼很長很長,想要輕鬆跳到要編輯的地方又有什麼好方法呢? Sublime Text 2 早就幫你想好了,同樣是按下前面所說的 Ctrl+P(Win) 或 Shift+Command+P(Mac),這次試試先輸入一個 @ 號看看?嗯,好樣的!這列表馬上幫你羅列出這文件裏全部的 Function 了!同樣使用模糊匹配,快速輸入幾個關鍵字,馬上就能定位到那個Function去了!!!在需要不停在多個Function之間跳轉的時候這個功能尤顯實用~媽媽再也不用擔心我找函數找到蛋疼了!當你編輯的是HTML時,這貨給你羅列的則是HTML的各個ID元素,相信搞前端的同學們都雞凍了吧。

快速羅列與定位函數Ctrl+P之後輸入@號或者 直接按Ctrl+R,即可列出該文件裏的全部function

輸入@號開始有此般神奇功效,那麼再試試輸入一個英文冒號 : 開始吧,然後再輸入一個數字,嗯,這次則可以跳到指定的行數了;輸入一個#號開始,可以羅列/搜索文本;而且你還可以使用更快速的快捷鍵,譬如快速列出/跳轉函數就是 Ctrl+R (Mac下是Command+R),它完全等同於Ctrl+P之後輸入@;跳轉到指定行號是 Ctrl+G (Mac是Command+G)。

而且更讓人叫絕的是,這些切換定位方法你還可以配合在一起使用!譬如我有一個名爲”hello-iplaysoft.js”的文件,裏面其中有一個function叫做”visit_iplaysoft_com”,我現在想要編輯這個函數,那麼我只需按下 Ctrl+P,然後輸入“heip@vi”回車(模糊匹配,注意前面有顏色的字符),ST2 馬上就給我到打開這個文件並定位進去了!夠方便了吧?!熟記這幾個快捷鍵,你可以很一氣呵成地進行文件切換和編輯,你會發現世界更美好哦親……

8.集所有功能於一身的命令面板:

Sublime Text 2 的一大特色是擁有一個相當強大的命令面板,它幾乎無所不能!任何時候,按下 Ctrl+Shift+P(Win) 或 Command+Shift+P(Mac) 即可調出。利用它,你可以實現很多很多很多很多很多功能,例如“Set Syntax:PHP”即可將當前文檔設置成PHP語法高亮;“Convert Case: Swap Case”可以將選中的文本大小寫反轉;“File: Save All”可以一次保存全部文件;“File: Close All”一次關閉全部文件等等……而且,這裏的列表一樣支持模糊匹配(這貨真心是個好東西啊!)。因爲這裏面命令實在太多了,覆蓋的作用範圍也很廣,我這裏實在不能一一介紹,大家如果有興趣,可以經常調個面板出來看看列表中都有些什麼命令,多多去了解、嘗試、再慢慢消化,相信它會讓你再也離不開它。

命令面板強大的命令面板,可以在這裏調用一切SublimeText提供的功能

9.Package Control(絕不可錯過的擴展包管理器)

Sublime Text 2 除了自身擁有無數實用功能和特性之外,它還能安裝使用各種擴展/皮膚/配色方案等來增強自己。現在介紹的這個 Package Control 可以看做是一個ST2的擴展管理器,使用它,你可以用非常神奇、非常簡單方便的方法去下載、安裝、刪除 Sublime Text 2 的各種插件、皮膚等,相信我,想更好地使用 ST2 絕對不能沒有它!不過 ST2 本身並沒有自帶這個工具,我們需要自行安裝它,方法很簡單:
1、在 SublimeText2 的目錄裏面找到 Data > Installed Packages 的文件夾 (如沒有請手動新建)
2、在這裏下載 Package Control.sublime-package 文件
3、將下載到的文件放進去 Installed Packages 裏面
4、重新啓動 Sublime Text 即可

如果 Package Control 已經安裝成功,那麼 Ctrl+Shift+P 調用命令面板,我們就會找到一些以“Package Control:”開頭的命令,我們常用到的就是幾個 Install Package (安裝擴展)、List Packages (列出全部擴展)、Remove Package (移除擴展)、Upgrade Package (升級擴展)。但如果你按照上面的方法確實搞不定,可以試試按鍵盤 Ctrl+~ (數字1左邊的按鍵)調出控制檯,然後拷貝下面的代碼進去並回車,它會自動幫你新建文件夾並下載文件的,與上面的方法最終效果是一樣的:

import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print 'Please restart Sublime Text to finish installation'

Package Control成功安裝 Package Control 之後,在命令面板裏會出現以其命名開頭的一系列命令

在命令面板輸入 “Package Control: Install Package“即會列出全部可以安裝的擴展(必需連接網絡,如下圖),從列表可以看到,4GL、AAAPackageDev 那些就是插件的名稱,選擇它們就可以進行下載安裝了。從該列表可以看到,目前ST2的各種擴展已經非常豐富了!此外,你還可以在這裏看到 Web 版的擴展列表和詳細的說明(這倆列表的數據應該是同步的。在截稿爲止 2012-7-8,這裏已經收集了482個擴展包了)

安裝擴展

我這裏以安裝“JsFormat”插件爲例,簡單介紹一下 SublimeText 裏面怎樣安裝與使用插件吧。JsFormat 的功能就是可以將一些凌亂的 JavaScript 代碼重新排版,以方便更好地閱讀與編輯。使用 Ctrl+Shift+P 調用命令面板,輸入“Package Control: Install Package”(安裝擴展包),在插件列表中選擇安裝“JsFormat”(可以輸入字符過濾),待提示成功之後即已完成安裝。隨便打開一個js文件(最好是換行、對齊特別凌亂的那種),按下 Ctrl+Shift+P 調用命令面板,你會發現已經多了一項命令叫做“Format: Javascript”,如圖:

JsFormat使用 JSFormat 插件的 Format: Javascript 命令

使用之後,你的代碼瞬間就變整齊了有木有!你也可以使用這個插件的熱鍵“CTRL+ALT+F”進行整理(命令面板右方可以看到)。

JsFormat使用 JSFormat 之後的 JS 代碼效果,注意上圖的JS代碼是一堆的

當然,不同的擴展,使用的方法與表現的形式都不一樣,這個就只能去web版查一下這個插件的一些具體的使用說明了,這裏是不能一概而論的。不過大體上,安裝和使用插件就是這麼的簡單。通過各種插件,你幾乎可以實現任何你想要的功能。而且 ST2 也開放了插件API,如果你有能力,也可以試試開發一個,可以參考這裏的API文檔。本文後面會推薦一些實用的插件。

10.更換主題或配色方案:

如果你看膩了 SublimeText 的原版皮膚,也可以折騰一下換膚的。譬如下圖是一款比較流行的主題 Theme - Soda,和安裝插件基本上一樣,使用 Package Control 進入 Install Package 的列表裏面找到它進行安裝即可。你也可以在網上找到一些 ST2 的主題,下載回來放到安裝目錄的 Data\Packages 文件夾裏面,然後選擇切換主題。配色方案的操作也是類似,大家自己研究研究吧,這裏不多做介紹了。

Soda主題

另外,SublimeText 還有很給力的一點,就是它能原生支持 TextMate 的 Bundle 和配色方案,同樣也是放在 Packages 文件夾裏即可使用。TextMate 的 Bundle 和配色方案資源都比較豐富,網上可以找到不少。

11.推薦的部分插件:

這裏補充一些我認爲不錯的插件吧,歡迎大家推薦與補充:
Gits:可以輕鬆集成 GitHub
SFTP:直接編輯 FTP 或 SFTP 服務器上的文件
ZenCoding:這貨對於前端的同學來說不得了,可以超快速編寫HTML文件 (視頻演示)
ConvertToUTF8:ST2只支持utf8編碼,該插件可以顯示與編輯 GBK, BIG5, EUC-KR, EUC-JP, Shift_JIS 等編碼的文件
Clipboard History:剪切板歷史
WordPress:集成一些WordPress的函數,對於像我這種經常要寫WP模版和插件的人特別有用!
HtmlTidy:清理與排版你的HTML代碼
PHPTidy:整理與排版PHP代碼
YUI Compressor:壓縮JS和CSS文件

12.一些補充:

因爲 SublimeText 是綠色軟件,用戶的自定義配置、下載的插件等都是位於軟件目錄內的,所以一旦你配置好之後,使用 Dropbox金山快盤之類的同步網盤進行同步(無網絡的朋友用U盤也行),去到哪裏運行都是自己的配置,非常方便!以後大家在不同的電腦上工作相信也能很順手了。

另外,很多朋友反映表示打開中文會有亂碼,其實是因爲ST2本身只支持UTF-8編碼,而我們常遇到的中文文件可能是GBK或者GB2312等編碼,解決方法是安裝一個 ConvertToUTF8 或者 GBK Encoding Support 插件即可完美解決,這個並不是什麼大問題。


發佈了59 篇原創文章 · 獲贊 13 · 訪問量 22萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章