代碼編輯器或者文本編輯器,對於程序員來講,就像劍與戰士同樣,誰都想擁有一把能夠隨心駕馭且鋒利無比的寶劍,而每一位程序員,一樣會去追求最適合本身的強大、靈活的編輯器,相信你和我同樣,都不會例外。php
我用過的編輯器很多,真很多~ 但卻沒有哪款讓我特別心儀的,直到我遇到了 Sublime Text 2 !若是說「神器」是我能給予一款軟件最高的評價,那麼我很樂意爲它封上這麼一個稱號。它小巧綠色且速度很是快,跨平臺支持Win/Mac/Linux,支持32與64位,支持各類流行編程語言的語法高亮、代碼補全等,但它有着不少其餘編輯器沒有的超酷的特性,讓它的好用達到了史無前例的程度……html
曾經有人說過,世界上有兩種編輯器,好用和很差用的;而在好用的編輯器中,又分兩種,免費的和死貴死貴的。譬如說 VIM 和 TextMate,就是免費和死貴的典型。很不幸,今天的主角 Sublime Text 2 也是個死貴死貴的表明,它是一款收費的商業軟件,我的受權費高達 59 美刀。前端
不過你們不用慌,雖然它很貴,但做者很厚道地給用戶們提供了免費無限制無限期的試用權,它只會偶爾提醒一下你木有購買,並且頻率也很低,僅此而已,一直無償使用下去幾乎是沒有任何影響的。另外值得一提的是,用戶購買一個受權便可同時在不一樣平臺上使用,對於像我這種常常須要在 Mac 和 Win 之間切換使用的用戶來講的確能省下一筆錢了。linux
由於 Sublime Text 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)的功能,能夠將經常使用的代碼片斷保存起來,在須要時隨時調用。固然,語法高亮、代碼摺疊、行號顯示、自定義皮膚、配色方案等這些已是一款現代編輯器應有的標配功能了,因此這裏就很少作介紹了。web
實用方便的代碼提示補全功能chrome
Sublime Text 2 在界面上比較有特點的是支持多種佈局和代碼地圖,也提供了 F11 和 Shift+F11 進入全屏免打擾模式,文字難描述,看下圖吧。編程
Sublime Text 2 的各類配置均由配置文件控制,完徹底全的能夠由用戶自定義,若是你願意折騰,甚至能夠將它改得於原版徹底不同的操做體驗。看下面的圖,Setting - Default 菜單會打開默認的軟件配置文件(這個文件會記錄一些諸如使用什麼字體等不少不少配置信息),Key Bindings - Default 是默認的快捷鍵配置文件,你們能夠打開它們看看本來的一些設置是怎樣配置的,但很是不建議直接在這裏修改!你能夠在 - User 結尾的文件(也就是用戶自定義配置的意思)裏面照樣畫葫蘆那樣來改,若是兩邊有相同的項目,它會以 - User 文件裏面定義的爲準。vim
這個例子裏我在 Key Bindings - User 裏面的第一行:{ "keys": ["alt+up"], "command": "swap_line_up" }, 意思就是按 Alt+方向鍵上時將當前選擇的那一行向上移(與上一行交換位置),若是語法神馬的沒問題,保存好這個文件以後立刻就可使用這個快捷鍵了。api
Sublime Text 2 的快捷鍵還支持雙重組合,譬如默認狀況下,將選中的文字改爲大寫的熱鍵是「Ctrl+K, Ctrl+U」,意思是當你先按下 Ctrl+K 以後迅速再按 Ctrl+U 進行觸發(只按下Ctrl+K是沒有做用的),這樣能夠避免不少熱鍵衝突,也能夠更靈活更多選擇地進行熱鍵自定義。不過在這裏就不打算教你們怎樣修改各類配置或修改熱鍵了,這恐怕能出一個手冊的,這裏有一個套比較完整的官方文檔(鳥語),有興趣的朋友能夠去參考一下。
另外,SublimeText 還有一個值得一提的細節——」編輯狀態恢復」,就是當你修改了一個文件,但沒有保存,這時退出軟件,ST2是不會很煩人地提示你要不要保存的,由於不管是用戶自發退出仍是意外崩潰退出,下次啓動軟件後,你以前的編輯狀態都會被完整恢復,就像你退出前同樣。這個細節我認爲很是很是的贊!由於我常常會嘗試性地去修改一些地方,但在確保沒有問題以前又不想保存,這時若是有些事情打斷本身,須要離開時,這個特性就頗有用了,直接退出就行,不用煩,下次回來打開軟件繼續編輯便可。固然,有了這個恢復特性不再怕系統崩潰、斷電了吧,真心讓人以爲ST2特別特別的安全可靠,妥妥的啊!
在寫代碼的過程當中,咱們常常須要同時編輯多行代碼或者多個變量。在 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+鼠標右鍵輕鬆實現多行編輯,批量給變量加前綴了
若是你同時打開了多個文件,或者你的項目裏常常須要編輯不一樣的文件,在文件數量較多的時候,在過去每每須要花費不少的精力去尋找,非常煩人。而如今,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,你只需輸入幾個字符便可~只有一句話:史無前例的方便!
使用上面介紹的快速文件切換功能,能夠很輕易地打開/切換到本身想要編輯的文檔了,但若是這個文件的代碼很長很長,想要輕鬆跳到要編輯的地方又有什麼好方法呢? 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 立刻就給我到打開這個文件並定位進去了!夠方便了吧?!熟記這幾個快捷鍵,你能夠很一鼓作氣地進行文件切換和編輯,你會發現世界更美好哦親……
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提供的功能
Sublime Text 2 除了自身擁有無數實用功能和特性以外,它還能安裝使用各類擴展/皮膚/配色方案等來加強本身。如今介紹的這個 Package Control 能夠看作是一個ST2的擴展管理器,使用它,你能夠用很是神奇、很是簡單方便的方法去下載、安裝、刪除 Sublime Text 2 的各類插件、皮膚等,相信我,想更好地使用 ST2 絕對不能沒有它!不過 ST2 自己並無自帶這個工具,咱們須要自行安裝它,方法很簡單:
一、在 SublimeText2 的目錄裏面找到 Data > Installed Packages 的文件夾 (如沒有請手動新建)
二、在這裏下載 Package Control.sublime-package 文件
三、將下載到的文件放進去 Installed Packages 裏面
四、從新啓動 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: 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 插件的 Format: Javascript 命令
使用以後,你的代碼瞬間就變整齊了有木有!你也可使用這個插件的熱鍵「CTRL+ALT+F」進行整理(命令面板右方能夠看到)。
使用 JSFormat 以後的 JS 代碼效果,注意上圖的JS代碼是一堆的
固然,不一樣的擴展,使用的方法與表現的形式都不同,這個就只能去web版查一下這個插件的一些具體的使用說明了,這裏是不能一律而論的。不過大致上,安裝和使用插件就是這麼的簡單。經過各類插件,你幾乎能夠實現任何你想要的功能。並且 ST2 也開放了插件API,若是你有能力,也能夠試試開發一個,能夠參考這裏的API文檔。本文後面會推薦一些實用的插件。
若是你看膩了 SublimeText 的原版皮膚,也能夠折騰一下換膚的。譬以下圖是一款比較流行的主題 Theme - Soda,和安裝插件基本上同樣,使用 Package Control 進入 Install Package 的列表裏面找到它進行安裝便可。你也能夠在網上找到一些 ST2 的主題,下載回來放到安裝目錄的 Data\Packages 文件夾裏面,而後選擇切換主題。配色方案的操做也是相似,你們本身研究研究吧,這裏很少作介紹了。
另外,SublimeText 還有很給力的一點,就是它能原生支持 TextMate 的 Bundle 和配色方案,一樣也是放在 Packages 文件夾裏便可使用。TextMate 的 Bundle 和配色方案資源都比較豐富,網上能夠找到很多。
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文件
由於 SublimeText 是綠色軟件,用戶的自定義配置、下載的插件等都是位於軟件目錄內的,因此一旦你配置好以後,使用 Dropbox、金山快盤之類的同步網盤進行同步(無網絡的朋友用U盤也行),去到哪裏運行都是本身的配置,很是方便!之後你們在不一樣的電腦上工做相信也能很順手了。
另外,不少朋友反映表示打開中文會有亂碼,實際上是由於ST2自己只支持UTF-8編碼,而咱們常遇到的中文文件多是GBK或者GB2312等編碼,解決方法是安裝一個 ConvertToUTF8 或者 GBK Encoding Support 插件便可完美解決,這個並非什麼大問題。
以前我一直使用的編輯器是 EditPlus,至少有4年+了吧,主要的緣由是它的啓動迅速和長久以來使用已經習慣了,但此次在試用後我絕不猶豫叛變到 SublimeText2 來了!從各類使用體驗來講,ST2 給人最多的感受就是「快」和「流暢」。「快」就像 Chrome 瀏覽器與其餘通常瀏覽器的比那樣,啓動速度讓人很是滿意;「流暢」就是當你熟悉了它的一些快捷操做以後,編輯文檔時那種不需打亂思緒的行雲流水般的操做,很是讓人有成就感!做爲一款功能、擴展性如此強大,可配置性如此自由的軟件,能作到速度如此之快實屬極致了,想一想看那些大型笨重的IDE們吧,你就巴不得立刻去告訴全部人世界上還有 SublimeText 這樣的神器~
Sublime Text 2 比 TextMate 在跨平臺和軟件更新上有很大優點,比另外一款一樣是神器級別的編輯器 VIM 入門又簡單得多,比各大IDE又要輕巧快速,比網上大部分的編輯器功能和擴展性上要強,並且暗色系的界面也很酷很討好人,能夠說是目前除VIM、emacs外又一個代碼編輯器的最佳選擇了!(更現代更先進的界面比VIM更適合普通用戶)
固然,一款的極致的編輯器就像小說裏的絕世寶劍,從的適應到靈活運用須要很長時間的堅持、學習和嘗試。建議你們多多瞭解和學習它的各類快捷鍵,那樣寫代碼就像開極品飛車啊有木有。目前我也只是剛入門,不少技巧、快捷鍵和特性都還沒用得上來,因此但願各界高手不吝賜教,多與我共享一些 ST2 的實用技巧與教程吧,不勝感激!
原文:http://www.iplaysoft.com/sublimetext.html