Sublime Text 全程指南

安裝(Installation)

Sublime Text 官方網站 提供了Sublime Text各系統各版本的下載,目前Sublime Text的最新版本是 Sublime Text 3 。這裏以Windows版本的Sublime Text安裝爲例。 html

注意在安裝時勾選 Add to explorer context menu ,這樣在右鍵單擊文件時就能夠直接使用Sublime Text打開。 java

右鍵打開

添加Sublime Text到環境變量

使用 Win + R 運行 sysdm.cpl 打開「系統屬性」。 程序員

sysdm.cpl

而後在「高級」選項卡里選擇「環境變量」,編輯「Path」,增長Sublime Text的安裝目錄(例如 D:\Program Files\Sublime Text 3 )。 正則表達式

添加環境變量

接下來你就能夠在命令行裏面利用 subl 命令直接使用Sublime Text了: sql


subl file    :: 使用Sublime Text打開file文件subl folder  :: 使用Sublime Text打開folder文件夾subl .       :: 使用Sublime Text當前文件夾

安裝Package Control

前文提到Sublime Text支持大量插件,如何找到並管理這些插件就成了一個問題,Package Control正是爲了解決這個問題而出現的,利用它咱們能夠很方便的瀏覽、安裝和卸載Sublime Text中的插件。express

進入Package Control的 官網 ,裏面有詳細的 安裝教程 。Package Control支持Sublime Text 2和3,本文只給出3的安裝流程: json

  • 使用`Ctrl + 「打開Sublime Text控制檯。sublime-text

  • 將下面的代碼粘貼到控制檯裏:bash


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)

  • 等待Package Control安裝完成。以後使用 Ctrl + Shift + P 打開命令板,輸入 PC 應出現Package Control: 編輯器

Package Control安裝成功

成功安裝Package Control以後,咱們就能夠方便的安裝使用Sublime Text的各類插件:

使用Package Control安裝插件

購買(Purchase)

Sublime Text是一個收費閉源軟件,這在必定程度上成爲了我支持Sublime Text的理由(我心中的軟件靠譜程度:免費開源 << 免費閉源 < 收費開源 < 收費閉源):在 這裏 購買。 

不過不購買Sublime Text也能夠「正常」使用它,只是Sublime Text會時不時的彈出一個對話框提醒你購買,此外窗口處會有一個很屌絲很low逼的 (UNREGISTERED) 。(在高頻操做下,通常20分鐘提示一次,我的認爲算是很厚道了) 

提示註冊

也許很多人會覺着Sublime Text 70刀的價格太貴,但相比它的功能和帶來的效率提高,70刀真的不值一提,若是你不方便使用Paypal付款能夠郵件聯繫我,你支付寶給我打款而後我幫你付款,價格按當日匯率折算(450元左右)。

購買以後

概覽(Tour)

基本概念(Basic Concepts)

Sublime Text的界面以下:

Sublime Text

  • 標籤(Tab):無需介紹。

  • 編輯區(Editing Area):無需介紹。

  • 側欄(Side Bar):包含當前打開的文件以及文件夾視圖。

  • 縮略圖(Minimap):如其名。

  • 命令板(Command Palette):Sublime Text的操做中心,它使得咱們基本能夠脫離鼠標和菜單欄進行操做。

  • 控制檯(Console):使用`Ctrl + 「調出,它既是一個標準的Python REPL,也能夠直接對Sublime Text進行配置。

  • 狀態欄(Status Bar):顯示當前行號、當前語言和Tab格式等信息。

配置(Settings)

與其餘GUI環境下的編輯器不一樣,Sublime Text並無一個專門的配置界面,與之相反,Sublime Text使用JSON配置文件,例如:


{  "font_size": 12,  "highlight_line": true,}

會將默認字體大小調整爲12,並高亮當前行。

JSON配置文件的引入簡化了Sublime Text的界面,但也使得配置變的複雜,通常我會到 這裏 查看可用的Sublime Text配置。 

編輯(Editing)

Sublime Text的編輯十分人性化——它不像Vim那樣反人類(儘管我也用Vim但我仍是要說Vim的快捷鍵設定絕壁連代謝產物都不如),少許的快捷鍵就能夠完成絕大多數編輯任務。

基本編輯(Basic Editing)

↑↓←→ 就是 ↑↓←→ ,不是 KJHL ,(沒錯我就是在吐槽Vim,尼瑪設成 WSAD 也比這個強啊),粘貼剪切複製均和系統一致。 

Ctrl + Enter 在當前行下面新增一行而後跳至該行; Ctrl + Shift + Enter 在當前行上面增長一行並跳至該行。 

演示新增行

Ctrl + ←/→ 進行逐詞移動,相應的, Ctrl + Shift + ←/→ 進行逐詞選擇。 

演示逐詞移動及選擇

Ctrl + ↑/↓ 移動當前顯示區域, Ctrl + Shift + ↑/↓ 移動當前行。 

演示移動當前行

選擇(Selecting)

Sublime Text的一大亮點是支持多重選擇——同時選擇多個區域,而後同時進行編輯。

Ctrl + D 選擇當前光標所在的詞並高亮該詞全部出現的位置,再次 Ctrl + D選擇該詞出現的下一個位置,在多重選詞的過程當中,使用 Ctrl + K 進行跳過,使用 Ctrl + U 進行回退,使用 Esc 退出多重編輯。 

多重選詞的一大應用場景就是重命名——從而使得代碼更加整潔。儘管Sublime Text沒法像IDE(例如Eclipse)那樣進行自動重命名,但咱們能夠經過多重選詞+多重編輯進行直觀且便捷的重命名:

利用多重選詞進行重命名

有時咱們須要對一片區域的全部行進行同時編輯, Ctrl + Shift + L 能夠將當前選中區域打散,而後進行同時編輯: 

利用打散爲列表套上引號

有打散天然就有合併, Ctrl + J 能夠把當前選中區域合併爲一行: 

合併選中行

查找&替換(Finding&Replacing)

Sublime Text提供了強大的查找(和替換)功能,爲了提供一個清晰的介紹,我將Sublime Text的查找功能分爲 快速查找 、 標準查找 和 多文件查找 三種類型。 

快速查找&替換

多數狀況下,咱們須要查找文中某個關鍵字出現的其它位置,這時並不須要從新將該關鍵字從新輸入一遍而後搜索,咱們只須要使用 Shift + ←/→ 或 Ctrl + D 選中關鍵字,而後 F3 跳到其下一個出現位置, Shift + F3 跳到其上一個出現位置,此外還能夠用 Alt + F3 選中其出現的全部位置(以後能夠進行多重編輯,也就是快速替換)。 

使用快速替換

標準查找&替換

另外一種常見的使用場景是搜索某個已知但不在當前顯示區域的關鍵字,這時可使用 Ctrl + F 調出搜索框進行搜索: 

Sublime Text的搜索框

以及使用 Ctrl + H 進行替換: 

Sublime Text的替換框

關鍵字查找&替換

對於普通用戶來講,常規的關鍵字搜索就能夠知足其需求:在搜索框輸入關鍵字後 Enter 跳相當鍵字當前光標的下一個位置, Shift + Enter 跳至上一個位置, Alt + Enter 選中其出現的全部位置(一樣的,接下來能夠進行快速替換)。 

Sublime Text的查找有不一樣的模式: Alt + C 切換大小寫敏感(Case-sensitive)模式, Alt + W 切換整字匹配(Whole matching)模式,除此以外Sublime Text還支持在選中範圍內搜索(Search in selection),這個功能沒有對應的快捷鍵,但能夠經過如下配置項自動開啓。 


"auto_find_in_selection": true

這樣以後在選中文本的狀態下範圍內搜索就會自動開啓,配合這個功能,局部重命名(Local Renaming)變的很是方便:

使用範圍搜索進行局部重命名

使用 Ctrl + H 進行標準替換,輸入替換內容後,使用 Ctrl + Shift + H 替換當前關鍵字, Ctrl + Alt + H 替換全部匹配關鍵字。 

正則表達式查找&替換

正則表達式 是很是強大的文本查找&替換工具,Sublime Text中使用 Alt + R 切換正則匹配模式的開啓/關閉。Sublime Text的使用 Boost裏的Perl正則表達式風格 。 

出於篇幅緣由,本文不會對正則表達式進行詳細介紹, Mastering Regex (中譯本: 精通正則表達式 )對正則表達式的原理和各語言下的使用進行了詳細介紹。此外網上有大量正則表達式的優秀教程( 「正則表達式30分鐘入門教程」 和 MSDN正則表達式教程 .aspx)),以及在線測試工具( regexpal 和 regexer )。 

多文件搜索&替換

使用 Ctrl + Shift + F 開啓多文件搜索&替換(注意此快捷鍵和搜狗輸入法的簡繁切換快捷鍵有衝突): 

多文件搜索界面

多文件搜索&替換默認在當前打開的文件和文件夾進行搜索/替換,咱們也能夠指定文件/文件夾進行搜索/替換。

跳轉(Jumping)

Sublime Text提供了強大的跳轉功能使得咱們能夠在不一樣的文件/方法/函數中無縫切換。就個人使用經驗而言,目前尚未哪一款編輯器能夠在這個方面超越Sublime Text。

跳轉到文件

Ctrl + P 會列出當前打開的文件(或者是當前文件夾的文件),輸入文件名而後 Enter 跳轉至該文件。 

須要注意的是,Sublime Text使用模糊字符串匹配(Fuzzy String Matching),這也就意味着你能夠經過文件名的前綴、首字母或是某部分進行匹配:例如, EIS 、 Eclip 和 Stupid 均可以匹配 EclipseIsStupid.java 。 

跳轉到文件

跳轉到符號

儘管是一個文本編輯器,Sublime Text可以對代碼符號進行必定程度的索引。 Ctrl + R 會列出當前文件中的符號(例如類名和函數名,但沒法深刻到變量名),輸入符號名稱 Enter 便可以跳轉到該處。此外,還可使用 F12 快速跳轉到當前光標所在符號的定義處(Jump to Definition)。 

跳轉到符號

比較有意思的是,對於Markdown, Ctrl + R 會列出其大綱,很是實用。 

Markdown大綱

跳轉到某行

Ctrl + G 而後輸入行號以跳轉到指定行: 

跳轉到某行

組合跳轉

在 Ctrl + P 匹配到文件後,咱們能夠進行後續輸入以跳轉到更精確的位置: 

  • @ 符號跳轉:輸入 @symbol  跳轉到 symbol 符號所在的位置 

  • # 關鍵字跳轉:輸入 #keyword 跳轉到 keyword 所在的位置 

  • : 行號跳轉:輸入 :12 跳轉到文件的第12行。 

組合跳轉演示

因此Sublime Text把 Ctrl + P 稱之爲 「Go To Anything」 ,這個功能如此好用,以致於我認爲沒有其它編輯器可以超越它。 

中文輸入法的問題

從Sublime Text的第一版(1.0)到如今(3.0 3065),中文輸入法(包括日文輸入法)都有一個問題:輸入框不跟隨。

輸入框不跟隨

目前官方尚未修復這個bug,解決方法是安裝 IMESupport 插件,以後重啓Sublime Text問題就解決了。 

修復以後輸入框跟隨

文件夾(Folders)

Sublime Text支持以文件夾作爲單位進行編輯,這在編輯一個文件夾下的代碼時尤爲有用。在 File 下 Open Folder : 

文件夾視圖

你會發現右邊多了一個側欄,這個側欄列出了當前打開的文件和文件夾的文件,使用 Ctrl + K, Ctrl + B 顯示或隱藏側欄,使用 Ctrl + P 快速跳轉到文件夾裏的文件。 

窗口&標籤(Windows & Tabs)

Sublime Text是一個多窗口多標籤編輯器:咱們既能夠開多個Sublime Text窗口,也能夠在一個Sublime Text窗口內開多個標籤。

窗口(Window)

使用 Ctrl + Shift + N 建立一個新窗口(該快捷鍵再次和搜狗輸入法快捷鍵衝突,我的建議禁用全部搜狗輸入法快捷鍵)。 

當窗口內沒有標籤時,使用 Ctrl + W 關閉該窗口。 

標籤(Tab)

使用 Ctrl + N 在當前窗口建立一個新標籤, Ctrl + W 關閉當前標籤, Ctrl + Shift + T 恢復剛剛關閉的標籤。 

編輯代碼時咱們常常會開多個窗口,因此分屏很重要。 Alt + Shift + 2 進行左右分屏, Alt + Shift + 8 進行上下分屏, Alt + Shift + 5 進行上下左右分屏(即分爲四屏)。 

各類分屏

分屏以後,使用 Ctrl + 數字鍵 跳轉到指定屏,使用 Ctrl + Shift + 數字鍵 將當前屏移動到指定屏。例如, Ctrl + 1 會跳轉到1屏,而 Ctrl + Shift + 2 會將當前屏移動到2屏。 

全屏(Full Screen)

Sublime Text有兩種全屏模式:普通全屏和無干擾全屏。

我的強烈建議在開啓全屏前關閉菜單欄(Toggle Menu),不然全屏效果會大打折扣。

F11 切換普通全屏: 

普通全屏

Shift + F11 切換無干擾全屏: 

無干擾全屏

風格(Styles)

風格對於任何軟件都很重要,對編輯器也是如此,尤爲是GUI環境下的編輯器。做爲一個程序員,我但願個人編輯器足夠簡潔且足夠個性。

Notepad++默認界面

Notepad++

Sublime Text默認界面

Sublime Text

因此在用過Sublime Text以後,我馬上就卸掉了Notepad++。

Sublime Text自帶的風格是我喜歡的深色風格(也能夠調成淺色),默認主題是 Monokai Bright ,這二者的搭配已經很不錯了,不過咱們還能夠作得更好:接下來我將會展現如何經過設置偏好項和添加自定義風格/主題使得Sublime Text更加Stylish。 

一些設置(Miscellaneous Settings)

下面是我我的使用的設置項。


// 設置Sans-serif(無襯線)等寬字體,以便閱讀"font_face": "YaHei Consolas Hybrid","font_size": 12,// 使光標閃動更加柔和"caret_style": "phase",// 高亮當前行"highlight_line": true,// 高亮有修改的標籤"highlight_modified_tabs": true,

設置以後的效果以下:

設置效果

主題(Themes)

Sublime Text有大量第三方主題:[ https://sublime.wbond.net/browse/labels/theme ],這裏我給出幾個我的感受不錯的主題: 

Soda Light

淺色版

Soda Dark

深色版

Nexus

Nexus

Flatland

Flatland

Spacegray Light

淺色版

Spacegray Dark

深色版

配色(Color)

colorsublime 包含了大量Sublime Text配色方案,並支持在線預覽,配色方案的安裝教程在 這裏 ,恕不贅述。 

我我的使用的是 Nexus 主題和 Flatland Dark 配色,配置以下: 


"theme": "Nexus.sublime-theme","color_scheme": "Packages/Theme - Flatland/Flatland Dark.tmTheme",

效果以下:

Nexus+Flatland

編碼(Coding)

優秀的編輯器使編碼變的更加容易,因此Sublime Text提供了一系列功能以提升開發效率。

良好實踐(Good Practices)

良好的代碼應該是規範的,因此Google爲每一門主流語言都設置了其代碼規範(Code Style Guideline)。我本身經過下面的設置使以規範化本身的代碼。


// 設置tab的大小爲2"tab_size": 2,// 使用空格代替tab"translate_tabs_to_spaces": true,// 添加行寬標尺"rulers": [80, 100],// 顯示空白字符"draw_white_space": "all",// 保存時自動去除行末空白"trim_trailing_white_space_on_save": true,// 保存時自動增長文件末尾換行"ensure_newline_at_eof_on_save": true,

代碼段(Code Snippets)

Sublime Text支持代碼段(Code Snippet),輸入代碼段名稱後 Tab 便可生成代碼段。 

代碼段效果

你能夠經過Package Control安裝第三方代碼段,也能夠本身建立代碼段,參考 這裏。 

格式化(Formatting)

Sublime Text基本的手動格式化操做包括: Ctrl + [ 向左縮進, Ctrl + ] 向右縮進,此外 Ctrl + Shift + V 能夠以當前縮進粘貼代碼(很是實用)。 

除了手動格式化,咱們也能夠經過安裝插件實現自動縮進和智能對齊:

自動完成(Auto Completion)

Sublime Text 支持必定的自動完成,按 Tab 自動補全。 

自動完成

括號(Brackets)

編寫代碼時會碰到大量的括號,利用 Ctrl + M 能夠快速的在起始括號和結尾括號間切換, Ctrl + Shift + M 則能夠快速選擇括號間的內容,對於縮進型語言(例如Python)則可使用 Ctrl + Shift + J 。 

括號演示

此外,我使用 BracketHighlighter 插件以高亮顯示配對括號以及當前光標所在區域,效果以下: 

插件演示

命令行(Command Line)

儘管提供了Python控制檯,但Sublime Text的控制檯僅支持單行輸入,十分不方便,因此我使用 Sublime REPL 以進行一些編碼實驗(Experiments)。 

SublimeREPL演示

其它(Miscellaneous)

儘管我試圖在本文包含儘量多的Sublime Text實用技能,但受限於篇幅和個人我的經驗,本文仍難免有所遺漏,歡迎在評論裏指出本文的錯誤及遺漏。

下面是一些可能有用但我不多用到的功能:

  • 宏(Macro):Sublime Text支持 錄製宏 ,但我在實際工做中並未發現宏有多大用處。 

  • 其它平臺(Other Platforms):本文只介紹了Windows平臺上Sublime Text的使用,不過Linux和OS X上Sublime Text的使用方式和Windows差異不大,只是在快捷鍵上有所差別,請參考 Windows/Linux快捷鍵 和 OS X快捷鍵 。 

  • 項目(Projects):Sublime Text支持簡單的 項目管理 ,但我通常只用到文件夾。 

  • Vim模式(Vintage):Sublime Text自帶 Vim模式 。 

  • 構建(Build):經過配置,Sublime Text能夠進行 源碼構建 。 

  • 調試(Debug):經過安裝 插件 ,Sublime Text能夠對代碼進行調試。 

快捷鍵列表(Shortcuts Cheatsheet)

我把本文出現的Sublime Text按其類型整理在這裏,以便查閱。

通用(General)

  • ↑↓←→ :上下左右移動光標,注意不是否是 KJHL ! 

  • Alt :調出菜單 

  • Ctrl + Shift + P :調出命令板(Command Palette) 

  • `Ctrl + 「:調出控制檯

編輯(Editing)

  • Ctrl + Enter :在當前行下面新增一行而後跳至該行 

  • Ctrl + Shift + Enter :在當前行上面增長一行並跳至該行 

  • Ctrl + ←/→ :進行逐詞移動 

  • Ctrl + Shift + ←/→ 進行逐詞選擇 

  • Ctrl + ↑/↓ 移動當前顯示區域 

  • Ctrl + Shift + ↑/↓ 移動當前行 

選擇(Selecting)

  • Ctrl + D :選擇當前光標所在的詞並高亮該詞全部出現的位置,再次 Ctrl + D 選擇該詞出現的下一個位置,在多重選詞的過程當中,使用 Ctrl + K 進行跳過,使用 Ctrl + U 進行回退,使用 Esc 退出多重編輯 

  • Ctrl + Shift + L :將當前選中區域打散 

  • Ctrl + J :把當前選中區域合併爲一行 

  • Ctrl + M :在起始括號和結尾括號間切換 

  • Ctrl + Shift + M :快速選擇括號間的內容 

  • Ctrl + Shift + J :快速選擇同縮進的內容 

  • Ctrl + Shift + Space :快速選擇當前做用域(Scope)的內容 

查找&替換(Finding&Replacing)

  • F3 :跳至當前關鍵字下一個位置 

  • Shift + F3 :跳到當前關鍵字上一個位置 

  • Alt + F3 :選中當前關鍵字出現的全部位置 

  • Ctrl + F/H :進行標準查找/替換,以後: 

    • Alt + C :切換大小寫敏感(Case-sensitive)模式 

    • Alt + W :切換整字匹配(Whole matching)模式 

    • Alt + R :切換正則匹配(Regex matching)模式 

    • Ctrl + Shift + H :替換當前關鍵字 

    • Ctrl + Alt + H :替換全部關鍵字匹配 

  • Ctrl + Shift + F :多文件搜索&替換 

跳轉(Jumping)

  • Ctrl + P :跳轉到指定文件,輸入文件名後能夠: 

    • @ 符號跳轉:輸入 @symbol  跳轉到 symbol 符號所在的位置 

    • # 關鍵字跳轉:輸入 #keyword 跳轉到 keyword 所在的位置 

    • : 行號跳轉:輸入 :12 跳轉到文件的第12行。 

  • Ctrl + R :跳轉到指定符號 

  • Ctrl + G :跳轉到指定行號 

窗口(Window)

  • Ctrl + Shift + N :建立一個新窗口 

  • Ctrl + N :在當前窗口建立一個新標籤 

  • Ctrl + W :關閉當前標籤,當窗口內沒有標籤時會關閉該窗口 

  • Ctrl + Shift + T :恢復剛剛關閉的標籤 

屏幕(Screen)

  • F11 :切換普通全屏 

  • Shift + F11 :切換無干擾全屏 

  • Alt + Shift + 2 :進行左右分屏 

  • Alt + Shift + 8 :進行上下分屏 

  • Alt + Shift + 5 :進行上下左右分屏 

  • 分屏以後,使用 Ctrl + 數字鍵 跳轉到指定屏,使用 Ctrl + Shift + 數字鍵 將當前屏移動到指定屏

相關文章
相關標籤/搜索