今天跟大家分享Sublime Text 最詳細的使用教程的知識。
0 ****前言
Sublime Text 是一款跨平臺代碼編輯器(Code Editor),從最初的 Sublime Text 1.0汉买,到現(xiàn)在的 Sublime Text 3.0吝秕,Sublime Text 從一個不知名的編輯器演變到現(xiàn)在幾乎是各平臺首選的 GUI 編輯器土涝。而這樣優(yōu)秀的編輯器卻沒有一個靠譜的中文教程砌梆,所以我試圖通過本文彌補這個缺陷。
1 ****安裝(Installation)
Sublime Text 官方網(wǎng)站 提供了 Sublime Text 各系統(tǒng)各版本的下載壶熏,目前Sublime Text 的最新版本是 Sublime Text 3句柠。這里以 Windows 版本的 Sublime Text 安裝為例。
注意在安裝時勾選 Add to explorer context menu,這樣在右鍵單擊文件時就可以直接使用 Sublime Text 打開溯职。
添加 Sublime Text 到環(huán)境變量
使用 Win + R 運行 sysdm.cpl 打開 “系統(tǒng)屬性”精盅。
然后在 “高級” 選項卡里選擇 “環(huán)境變量”,編輯 “Path”谜酒,增加 Sublime Text 的安裝目錄(例如 D:\Program Files\Sublime Text 3)叹俏。
接下來你就可以在命令行里面利用 subl 命令直接使用 Sublime Text 了:
subl file :: 使用 Sublime Text 打開 file 文件
2 ****安裝Package Control
前文提到 Sublime Text 支持大量插件,如何找到并管理這些插件就成了一個問題甚带,Package Control 正是為了解決這個問題而出現(xiàn)的她肯,利用它我們可以很方便的瀏覽佳头、安裝和卸載 Sublime Text 中的插件鹰贵。
進入 Package Control 的 官網(wǎng),里面有詳細的 安裝教程康嘉。Package Control 支持 Sublime Text 2 和 3碉输,本文只給出 3 的安裝流程:
1.使用 Ctrl + ` 打開 Sublime Text 控制臺。2.將下面的代碼粘貼到控制臺里:
import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
3.等待 Package Control 安裝完成亭珍。之后使用 Ctrl + Shift + P 打開命令板敷钾,輸入 PC 應(yīng)出現(xiàn) Package Control:
成功安裝 Package Control 之后,我們就可以方便的安裝使用 Sublime Text 的各種插件:
購買(Purchase)
Sublime Text 是一個收費閉源軟件肄梨,這在一定程度上成為了我支持 Sublime Text 的理由(我心中的軟件靠譜程度:免費開源 << 免費閉源 < 收費開源 < 收費閉源):在 這里 購買阻荒。
不過不購買 Sublime Text 也可以 “正常” 使用它众羡,只是 Sublime Text 會時不時的彈出一個對話框提醒你購買侨赡,此外窗口處會有一個很屌絲很 low 逼的 (UNREGISTERED)。(在高頻操作下粱侣,一般 20 分鐘提示一次羊壹,個人認為算是很厚道了)
也許不少人會覺著 Sublime Text 70 刀的價格太貴,但相比它的功能和帶來的效率提升齐婴,70 刀真的不值一提油猫,如果你不方便使用 Paypal 付款可以郵件聯(lián)系我,你支付寶給我打款然后我?guī)湍愀犊钅迹瑑r格按當日匯率折算(450 元左右)情妖。
3 ****概覽(Tour)
基本概念(Basic Concepts)
Sublime Text 的界面如下:
1.標簽(Tab):無需介紹。2.編輯區(qū)(Editing Area):無需介紹诱担。3.側(cè)欄(Side Bar):包含當前打開的文件以及文件夾視圖毡证。4.縮略圖(Minimap):如其名。5.命令板(Command Palette):Sublime Text 的操作中心该肴,它使得我們基本可以脫離鼠標和菜單欄進行操作情竹。6.控制臺(Console):使用 Ctrl + ` 調(diào)出,它既是一個標準的 Python REPL,也可以直接對 Sublime Text 進行配置秦效。7.狀態(tài)欄(Status Bar):顯示當前行號雏蛮、當前語言和Tab格式等信息。
配置(Settings)
與其他 GUI 環(huán)境下的編輯器不同阱州,Sublime Text 并沒有一個專門的配置界面挑秉,與之相反,Sublime Text 使用 JSON 配置文件苔货,例如:
{
會將默認字體大小調(diào)整為 12犀概,并高亮當前行。
JSON 配置文件的引入簡化了 Sublime Text 的界面夜惭,但也使得配置變的復雜姻灶,一般我會到 這里 查看可用的 Sublime Text 配置。
編輯(Editing)
Sublime Text 的編輯十分人性化——它不像 Vim 那樣反人類(盡管我也用 Vim 但我還是要說 Vim 的快捷鍵設(shè)定絕壁連代謝產(chǎn)物都不如)诈茧,少量的快捷鍵就可以完成絕大多數(shù)編輯任務(wù)产喉。
基本編輯(Basic Editing)
↑↓←→ 就是 ↑↓←→,不是 KJHL敢会,(沒錯我就是在吐槽 Vim曾沈,尼瑪設(shè)成 WSAD 也比這個強啊)鸥昏,粘貼剪切復制均和系統(tǒng)一致塞俱。
Ctrl + Enter 在當前行下面新增一行然后跳至該行;Ctrl + Shift + Enter 在當前行上面增加一行并跳至該行吏垮。
Ctrl + ←/→ 進行逐詞移動障涯,相應(yīng)的,Ctrl + Shift + ←/→ 進行逐詞選擇惫皱。
Ctrl + ↑/↓ 移動當前顯示區(qū)域像樊,Ctrl + Shift + ↑/↓ 移動當前行。
選擇(Selecting)
Sublime Text 的一大亮點是支持多重選擇——同時選擇多個區(qū)域旅敷,然后同時進行編輯生棍。
Ctrl + D 選擇當前光標所在的詞并高亮該詞所有出現(xiàn)的位置,再次 Ctrl + D 選擇該詞出現(xiàn)的下一個位置媳谁,在多重選詞的過程中涂滴,使用 Ctrl + K 進行跳過,使用 Ctrl + U 進行回退晴音,使用 Esc 退出多重編輯柔纵。
多重選詞的一大應(yīng)用場景就是重命名——從而使得代碼更加整潔。盡管 Sublime Text 無法像 IDE(例如 Eclipse)那樣進行自動重命名锤躁,但我們可以通過多重選詞+多重編輯進行直觀且便捷的重命名:
有時我們需要對一片區(qū)域的所有行進行同時編輯搁料,Ctrl + Shift + L 可以將當前選中區(qū)域打散,然后進行同時編輯:
有打散自然就有合并,Ctrl + J 可以把當前選中區(qū)域合并為一行:
查找&替換(Finding&Replacing)
Sublime Text 提供了強大的查找(和替換)功能郭计,為了提供一個清晰的介紹霸琴,我將 Sublime Text 的查找功能分為 快速查找、標準查找 和 多文件查找 三種類型昭伸。
快速查找&替換
多數(shù)情況下梧乘,我們需要查找文中某個關(guān)鍵字出現(xiàn)的其它位置,這時并不需要重新將該關(guān)鍵字重新輸入一遍然后搜索庐杨,我們只需要使用 Shift + ←/→ 或 Ctrl + D 選中關(guān)鍵字选调,然后 F3 跳到其下一個出現(xiàn)位置, Shift + F3 跳到其上一個出現(xiàn)位置灵份,此外還可以用 Alt + F3 選中其出現(xiàn)的所有位置(之后可以進行多重編輯仁堪,也就是快速替換)。
標準查找&替換
另一種常見的使用場景是搜索某個已知但不在當前顯示區(qū)域的關(guān)鍵字各吨,這時可以使用 Ctrl + F 調(diào)出搜索框進行搜索:
以及使用 Ctrl + H 進行替換:
關(guān)鍵字查找&替換
對于普通用戶來說枝笨,常規(guī)的關(guān)鍵字搜索就可以滿足其需求:在搜索框輸入關(guān)鍵字后 Enter 跳至關(guān)鍵字當前光標的下一個位置, Shift + Enter 跳至上一個位置揭蜒, Alt + Enter 選中其出現(xiàn)的所有位置(同樣的,接下來可以進行快速替換)剔桨。
Sublime Text 的查找有不同的模式:Alt + C 切換大小寫敏感(Case-sensitive)模式屉更, Alt + W 切換整字匹配(Whole matching)模式,除此之外Sublime Text還支持在選中范圍內(nèi)搜索(Search in selection)洒缀,這個功能沒有對應(yīng)的快捷鍵瑰谜,但可以通過以下配置項自動開啟。
"auto_find_in_selection": true
這樣之后在選中文本的狀態(tài)下范圍內(nèi)搜索就會自動開啟树绩,配合這個功能萨脑,局部重命名(Local Renaming)變的非常方便:
使用 Ctrl + H 進行標準替換,輸入替換內(nèi)容后饺饭,使用 Ctrl + Shift + H 替換當前關(guān)鍵字渤早, Ctrl + Alt + Enter 替換所有匹配關(guān)鍵字。
正則表達式查找&替換
正則表達式 是非常強大的文本查找&替換工具瘫俊,Sublime Text中使用 Alt + R 切換正則匹配模式的開啟/關(guān)閉鹊杖。Sublime Text的使用Boost里的Perl正則表達式風格。
出于篇幅原因扛芽,本文不會對正則表達式進行詳細介紹骂蓖,Mastering Regex(中譯本:精通正則表達式)對正則表達式的原理和各語言下的使用進行了詳細介紹。此外網(wǎng)上有大量正則表達式的優(yōu)秀教程(“正則表達式30分鐘入門教程” 和 MSDN正則表達式教程.aspx))川尖,以及在線測試工具(regexpal 和 regexer)登下。
多文件搜索&替換
使用 Ctrl + Shift + F 開啟多文件搜索&替換(注意此快捷鍵和搜狗輸入法的簡繁切換快捷鍵有沖突):
多文件搜索&替換默認在當前打開的文件和文件夾進行搜索/替換,我們也可以指定文件/文件夾進行搜索/替換。
跳轉(zhuǎn)(Jumping)
Sublime Text 提供了強大的跳轉(zhuǎn)功能使得我們可以在不同的文件/方法/函數(shù)中無縫切換被芳。就我的使用經(jīng)驗而言银酬,目前還沒有哪一款編輯器可以在這個方面超越Sublime Text。
跳轉(zhuǎn)到文件
Ctrl + P 會列出當前打開的文件(或者是當前文件夾的文件)筐钟,輸入文件名然后 Enter 跳轉(zhuǎn)至該文件揩瞪。
需要注意的是,Sublime Text使用模糊字符串匹配(Fuzzy String Matching)篓冲,這也就意味著你可以通過文件名的前綴李破、首字母或是某部分進行匹配:例如, EIS 壹将、 Eclip 和 Stupid 都可以匹配 EclipseIsStupid.java 嗤攻。
跳轉(zhuǎn)到符號
盡管是一個文本編輯器,Sublime Text 能夠?qū)Υa符號進行一定程度的索引诽俯。Ctrl + R 會列出當前文件中的符號(例如類名和函數(shù)名妇菱,但無法深入到變量名),輸入符號名稱 Enter 即可以跳轉(zhuǎn)到該處暴区。
此外闯团,還可以使用 F12 快速跳轉(zhuǎn)到當前光標所在符號的定義處(Jump to Definition)。
比較有意思的是仙粱,對于 Markdown房交, Ctrl + R 會列出其大綱,非常實用伐割。
跳轉(zhuǎn)到某行
Ctrl + G 然后輸入行號以跳轉(zhuǎn)到指定行:
組合跳轉(zhuǎn)
在 Ctrl + P 匹配到文件后候味,我們可以進行后續(xù)輸入以跳轉(zhuǎn)到更精確的位置:
1.@ 符號跳轉(zhuǎn):輸入 @symbol 跳轉(zhuǎn)到 symbol 符號所在的位置2.# 關(guān)鍵字跳轉(zhuǎn):輸入 #keyword 跳轉(zhuǎn)到 keyword 所在的位置3.: 行號跳轉(zhuǎn):輸入 :12 跳轉(zhuǎn)到文件的第12行。
所以 Sublime Text 把 Ctrl + P 稱之為 “Go To Anything”隔心,這個功能如此好用白群,以至于我認為沒有其它編輯器能夠超越它。
中文輸入法的問題
從 Sublime Text 的初版(1.0)到現(xiàn)在(3.0 3065)硬霍,中文輸入法(包括日文輸入法)都有一個問題:輸入框不跟隨帜慢。
目前官方還沒有修復這個 bug,解決方法是安裝 IMESupport 插件须尚,之后重啟 Sublime Text 問題就解決了崖堤。
文件夾(Folders)
Sublime Text 支持以文件夾做為單位進行編輯,這在編輯一個文件夾下的代碼時尤其有用耐床。在 File 下 Open Folder :
你會發(fā)現(xiàn)右邊多了一個側(cè)欄密幔,這個側(cè)欄列出了當前打開的文件和文件夾的文件,使用 Ctrl + K, Ctrl + B 顯示或隱藏側(cè)欄撩轰,使用 Ctrl + P 快速跳轉(zhuǎn)到文件夾里的文件胯甩。
窗口&標簽(Windows & Tabs)
Sublime Text 是一個多窗口多標簽編輯器:我們既可以開多個Sublime Text窗口昧廷,也可以在一個Sublime Text窗口內(nèi)開多個標簽。
窗口(Window)
使用 Ctrl + Shift + N 創(chuàng)建一個新窗口(該快捷鍵再次和搜狗輸入法快捷鍵沖突偎箫,個人建議禁用所有搜狗輸入法快捷鍵)木柬。
當窗口內(nèi)沒有標簽時,使用 Ctrl + W 關(guān)閉該窗口淹办。
標簽(Tab)
使用 Ctrl + N 在當前窗口創(chuàng)建一個新標簽眉枕, Ctrl + W 關(guān)閉當前標簽, Ctrl + Shift + T 恢復剛剛關(guān)閉的標簽怜森。
編輯代碼時我們經(jīng)常會開多個窗口速挑,所以分屏很重要。Alt + Shift + 2 進行左右分屏副硅, Alt + Shift + 8 進行上下分屏姥宝, Alt + Shift + 5 進行上下左右分屏(即分為四屏)。
分屏之后恐疲,使用 Ctrl + 數(shù)字鍵 跳轉(zhuǎn)到指定屏腊满,使用 Ctrl + Shift + 數(shù)字鍵 將當前屏移動到指定屏。例如培己, Ctrl + 1 會跳轉(zhuǎn)到1屏碳蛋,而 Ctrl + Shift + 2 會將當前屏移動到2屏。
全屏(Full Screen)
Sublime Text 有兩種全屏模式:普通全屏和無干擾全屏漱凝。
個人強烈建議在開啟全屏前關(guān)閉菜單欄(Toggle Menu)疮蹦,否則全屏效果會大打折扣。
F11 切換普通全屏:
Shift + F11 切換無干擾全屏:
風格(Styles)
風格對于任何軟件都很重要茸炒,對編輯器也是如此,尤其是GUI環(huán)境下的編輯器阵苇。作為一個程序員壁公,我希望我的編輯器足夠簡潔且足夠個性。
Notepad++ 默認界面
Sublime Text 默認界面
所以在用過 Sublime Text 之后绅项,我立刻就卸掉了 Notepad++紊册。
Sublime Text 自帶的風格是我喜歡的深色風格(也可以調(diào)成淺色),默認主題是Monokai Bright快耿,這兩者的搭配已經(jīng)很不錯了囊陡,不過我們還可以做得更好:接下來我將會展示如何通過設(shè)置偏好項和添加自定義風格/主題使得 Sublime Text 更加 Stylish。
4 ****一些設(shè)置(Miscellaneous Settings)
下面是我個人使用的設(shè)置項掀亥。
// 設(shè)置Sans-serif(無襯線)等寬字體撞反,以便閱讀
設(shè)置之后的效果如下:
主題(Themes)
Sublime Text 有大量第三方主題:[https://sublime.wbond.net/browse/labels/theme],這里我給出幾個個人感覺不錯的主題:
Soda Light
Soda Dark
Nexus
Flatland
Spacegray Light
Spacegray Dark
配色(Color)
colorsublime 包含了大量 Sublime Text 配色方案搪花,并支持在線預覽遏片,配色方案的安裝教程在 這里嘹害,恕不贅述。
我個人使用的是 Nexus 主題和 Flatland Dark 配色吮便,配置如下:
"theme": "Nexus.sublime-theme",
效果如下:
編碼(Coding)
優(yōu)秀的編輯器使編碼變的更加容易笔呀,所以 Sublime Text 提供了一系列功能以提高開發(fā)效率。
良好實踐(Good Practices)
良好的代碼應(yīng)該是規(guī)范的髓需,所以Google為每一門主流語言都設(shè)置了其代碼規(guī)范(Code Style Guideline)许师。我自己通過下面的設(shè)置使以規(guī)范化自己的代碼。
// 設(shè)置tab的大小為2
代碼段(Code Snippets)
Sublime Text 支持代碼段(Code Snippet)僚匆,輸入代碼段名稱后 Tab 即可生成代碼段微渠。
你可以通過Package Control安裝第三方代碼段,也可以自己創(chuàng)建代碼段白热,參考這里敛助。
格式化(Formatting)
Sublime Text 基本的手動格式化操作包括:Ctrl + [ 向左縮進, Ctrl + ] 向右縮進屋确,此外 Ctrl + Shift + V 可以以當前縮進粘貼代碼(非常實用)纳击。
除了手動格式化,我們也可以通過安裝插件實現(xiàn)自動縮進和智能對齊:
1.HTMLBeautify:格式化HTML攻臀。
2.AutoPEP8:格式化Python代碼焕数。
3.Alignment:進行智能對齊。
自動完成(Auto Completion)
Sublime Text 支持一定的自動完成刨啸,按 Tab 自動補全堡赔。
括號(Brackets)
編寫代碼時會碰到大量的括號,利用 Ctrl + M 可以快速的在起始括號和結(jié)尾括號間切換设联, Ctrl + Shift + M 則可以快速選擇括號間的內(nèi)容善已,對于縮進型語言(例如Python)則可以使用 Ctrl + Shift + J 。
此外离例,我使用 BracketHighlighter 插件以高亮顯示配對括號以及當前光標所在區(qū)域换团,效果如下:
命令行(Command Line)
盡管提供了 Python 控制臺,但 Sublime Text 的控制臺僅支持單行輸入宫蛆,十分不方便艘包,所以我使用 SublimeREPL 以進行一些編碼實驗(Experiments)。
其它(Miscellaneous)
盡管我試圖在本文包含盡可能多的 Sublime Text 實用技能耀盗,但受限于篇幅和我的個人經(jīng)驗想虎,本文仍不免有所遺漏,歡迎在評論里指出本文的錯誤及遺漏叛拷。
下面是一些可能有用但我很少用到的功能:
1.宏(Macro):Sublime Text 支持錄制宏舌厨,但我在實際工作中并未發(fā)現(xiàn)宏有多大用處。
2.其它平臺(Other Platforms):本文只介紹了 Windows 平臺上 Sublime Text 的使用胡诗,不過 Linux 和 OS X 上Sublime Text的使用方式和Windows差別不大邓线,只是在快捷鍵上有所差異淌友,請參考 Windows/Linux快捷鍵 和 OS X 快捷鍵。
3.項目(Projects):Sublime Text支持簡單的 項目管理骇陈,但我一般只用到文件夾震庭。
4.Vim模式(Vintage):Sublime Text自帶 Vim模式。
5.構(gòu)建(Build):通過配置你雌,Sublime Text可以進行 源碼構(gòu)建器联。
6.調(diào)試(Debug):通過安裝 插件,Sublime Text 可以對代碼進行調(diào)試婿崭。
快捷鍵列表(Shortcuts Cheatsheet)
我把本文出現(xiàn)的Sublime Text按其類型整理在這里拨拓,以便查閱。
通用(General)
1.↑↓←→:上下左右移動光標氓栈,注意不是不是 KJHL 渣磷!2.Alt:調(diào)出菜單3.Ctrl + Shift + P:調(diào)出命令板(Command Palette)4.Ctrl + ` :調(diào)出控制臺
編輯(Editing)
1.Ctrl + Enter:在當前行下面新增一行然后跳至該行2.Ctrl + Shift + Enter:在當前行上面增加一行并跳至該行3.Ctrl + ←/→:進行逐詞移動4.Ctrl + Shift + ←/→進行逐詞選擇5.Ctrl + ↑/↓移動當前顯示區(qū)域6.Ctrl + Shift + ↑/↓移動當前行
選擇(Selecting)
1.Ctrl + D:選擇當前光標所在的詞并高亮該詞所有出現(xiàn)的位置,再次 Ctrl + D 選擇該詞出現(xiàn)的下一個位置授瘦,在多重選詞的過程中醋界,使用 Ctrl + K 進行跳過,使用 Ctrl + U 進行回退提完,使用 Esc 退出多重編輯2.Ctrl + Shift + L:將當前選中區(qū)域打散3.Ctrl + J:把當前選中區(qū)域合并為一行4.Ctrl + M:在起始括號和結(jié)尾括號間切換5.Ctrl + Shift + M:快速選擇括號間的內(nèi)容6.Ctrl + Shift + J:快速選擇同縮進的內(nèi)容7.Ctrl + Shift + Space:快速選擇當前作用域(Scope)的內(nèi)容
查找&替換(Finding&Replacing)
1.F3:跳至當前關(guān)鍵字下一個位置2.Shift + F3:跳到當前關(guān)鍵字上一個位置3.Alt + F3:選中當前關(guān)鍵字出現(xiàn)的所有位置4.Ctrl + F/H:進行標準查找/替換形纺,之后:5.Alt + C:切換大小寫敏感(Case-sensitive)模式6.Alt + W:切換整字匹配(Whole matching)模式7.Alt + R:切換正則匹配(Regex matching)模式8.Ctrl + Shift + H:替換當前關(guān)鍵字9.Ctrl + Alt + Enter:替換所有關(guān)鍵字匹配10.Ctrl + Shift + F:多文件搜索&替換
跳轉(zhuǎn)(Jumping)
1.Ctrl + P:跳轉(zhuǎn)到指定文件,輸入文件名后可以:2.@ 符號跳轉(zhuǎn):輸入 @symbol 跳轉(zhuǎn)到 symbol 符號所在的位置3.# 關(guān)鍵字跳轉(zhuǎn):輸入 #keyword 跳轉(zhuǎn)到 keyword 所在的位置4.: 行號跳轉(zhuǎn):輸入 :12 跳轉(zhuǎn)到文件的第12行徒欣。5.Ctrl + R:跳轉(zhuǎn)到指定符號6.Ctrl + G:跳轉(zhuǎn)到指定行號
窗口(Window)
1.Ctrl + Shift + N:創(chuàng)建一個新窗口2.Ctrl + N:在當前窗口創(chuàng)建一個新標簽3.Ctrl + W:關(guān)閉當前標簽逐样,當窗口內(nèi)沒有標簽時會關(guān)閉該窗口4.Ctrl + Shift + T:恢復剛剛關(guān)閉的標簽
屏幕(Screen)
1.F11:切換普通全屏2.Shift + F11:切換無干擾全屏3.Alt + Shift + 2:進行左右分屏4.Alt + Shift + 8:進行上下分屏5.Alt + Shift + 5:進行上下左右分屏6.分屏之后,使用 Ctrl + 數(shù)字鍵 跳轉(zhuǎn)到指定屏打肝,使用 Ctrl + Shift + 數(shù)字鍵 將當前屏移動到指定屏
5 ****延伸閱讀(Further Reading)
書籍(Books)
Mastering Sublime Text:我讀過的唯一一本關(guān)于 Sublime Text 的書籍脂新,書中介紹的插件很實用狈定,但對編輯技巧介紹不全限书。
Instant Sublime Text Starter:另外一本關(guān)于 Sublime Text的書,我沒有讀過狱掂。
原文
Sublime Text 最詳細的使用教程