## 前言(Prologue)
Sublime Text是一款跨平臺代碼編輯器(Code Editor),從最初的Sublime Text 1.0,到現在的Sublime Text 3.0,Sublime Text從一個不知名的編輯器演變到現在幾乎是各平臺首選的GUI編輯器。而這樣優秀的編輯器卻沒有一個靠譜的中文教程,所以我試圖通過本文彌補這個缺陷。
### 編輯器的選擇(Editor Choices)
從初學編程到現在,我用過的編輯器有EditPlus、UltraEdit、Notepad++、Vim、TextMate和Sublime Text,如果讓我從中推薦,我會毫不猶豫的推薦Vim和Sublime Text,原因有下面幾點:
1. **跨平臺**:Vim和Sublime Text均為跨平臺編輯器(在Linux、OS X和Windows下均可使用)。作為一個程序員,切換系統是常有的事情,為了減少重復學習,使用一個跨平臺的編輯器是很有必要的。
2. **可擴展**:Vim和Sublime Text都是可擴展的(Extensible),并包含大量實用插件,我們可以通過安裝自己領域的插件來成倍提高工作效率。
3. **互補**:Vim和Sublime Text分別是命令行環境(CLI)和圖形界面環境(GUI)下的最佳選擇,同時使用兩者會大大提高工作效率。
### 個人背景(Personal Background)
我是一名非常典型的程序員:平時工作主要在Linux環境下使用Java和Python,偶爾會用HTML+CSS+JavaScript編寫網頁;業余時會在Windows環境編寫一些C#程序(包括控制臺程序(Console Application)和移動應用(Mobile App),也會玩一些非主流語言(比如Haskell,ML和Ruby等)以拓展見識。
所以這篇文章會我的個人工作內容為主要使用場景(Scenario),盡管無法覆蓋到所有的使用場景,但我認為依然可以覆蓋到絕大部分,如果您認為我遺漏了什么內容,請在文章下面回復,我會盡量更新。
### 本文風格(Writing Style)
受益于[K&R C](http://en.wikipedia.org/wiki/The_C_Programming_Language)的寫作風格,我傾向于以實際案例來講解Sublime Text的功能,所以本文中的例子均源于我在實際開發時遇到的問題。
此外,把本文會使用大量動畫(GIF)演示Sublime Text的編輯功能,因為我發現圖片難以演示完整的編輯流程(Workflow),而視頻又過于重量級。本文的GIF動畫均使用[ScreenToGif](http://screentogif.codeplex.com/)進行錄制。
### 編輯器(Editor) vs 集成開發環境(Integrated Development Environment,下文簡稱IDE)
我經常看到一些程序員拿編輯器和IDE進行比較,諸如Vim比Eclipse強大或是Visual Studio太慢不如Notepad++好使之類的討論比比皆是,個人認為這些討論沒有意義,因為編輯器和IDE根本是面向兩種不同使用場景的工具:
* 編輯器面向無語義的純文本,不涉及領域邏輯,因此速度快體積小,適合編寫單獨的配置文件和動態語言腳本(Shell、Python和Ruby等)。
* IDE面向有語義的代碼,會涉及到大量領域邏輯,因此速度偏慢體積龐大,適合編寫靜態語言項目(Java、C++和C#等)。
我認為應當使用正確的工具去做有價值的事情,并把效率最大化,所以我會用Eclipse編寫Java項目,用Vim編寫Shell,用Sublime Text編寫JavaScript/HTML/Python,用Visual Studio編寫C#。
前言到此結束,下面進入正題。