收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

視學演算法發表於2020-04-06

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

作者:lucida

連結:http://lucida.me/blog/sublime-text-complete-guide/

# 摘要(Abstract)

本文系統全面的介紹了 Sublime Text,旨在成為最優秀的 Sublime Text 中文教程。


# 更新記錄

1.2014/09/27:完成初稿

2.2014/09/28:

更正開啟控制檯的快捷鍵為 Ctrl + `

更正全域性替換的快捷鍵為 Ctrl + Alt + Enter

3.2016/09/15:作者已全面轉向 Visual Studio Code

# 前言(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 的寫作風格,我傾向於以實際案例來講解 Sublime Text 的功能,所以本文中的例子均源於我在實際開發時遇到的問題。

此外,把本文會使用大量動畫(GIF)演示 Sublime Text 的編輯功能,因為我發現圖片難以演示完整的編輯流程(Workflow),而視訊又過於重量級。本文的GIF動畫均使用 ScreenToGif 進行錄製。

# 編輯器(Editor) vs 整合開發環境(Integrated Development Environment,下文簡稱 IDE)

我經常看到一些程式設計師拿編輯器和 IDE 進行比較,諸如 Vim 比 Eclipse 強大或是 Visual Studio 太慢不如 Notepad++ 好使之類的討論比比皆是,個人認為這些討論沒有意義,因為編輯器和 IDE 根本是面向兩種不同使用場景的工具:

1.編輯器面向無語義的純文字,不涉及領域邏輯,因此速度快體積小,適合編寫單獨的配置檔案和動態語言指令碼(Shell、Python 和 Ruby 等)。

2.IDE 面向有語義的程式碼,會涉及到大量領域邏輯,因此速度偏慢體積龐大,適合編寫靜態語言專案(Java、C++ 和 C# 等)。

我認為應當使用正確的工具去做有價值的事情,並把效率最大化,所以我會用 Eclipse 編寫 Java 專案,用 Vim 編寫Shell,用 Sublime Text 編寫 JavaScript/HTML/Python,用 Visual Studio 編寫C#。

前言到此結束,下面進入正題。

# 安裝(Installation)

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

注意在安裝時勾選 Add to explorer context menu,這樣在右鍵單擊檔案時就可以直接使用 Sublime Text 開啟。

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

# 新增 Sublime Text 到環境變數

使用 Win + R 執行 sysdm.cpl 開啟 “系統屬性”。

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

然後在 “高階” 選項卡里選擇 “環境變數”,編輯 “Path”,增加 Sublime Text 的安裝目錄(例如 D:\Program Files\Sublime Text 3)。

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

接下來你就可以在命令列裡面利用 subl 命令直接使用 Sublime Text 了:

subl file    :: 使用 Sublime Text 開啟 file 檔案
subl folder  :: 使用 Sublime Text 開啟 folder 資料夾
subl .       :: 使用 Sublime Text 當前資料夾


# 安裝 Package Control

前文提到 Sublime Text 支援大量外掛,如何找到並管理這些外掛就成了一個問題,Package Control 正是為了解決這個問題而出現的,利用它我們可以很方便的瀏覽、安裝和解除安裝 Sublime Text 中的外掛。

進入 Package Control 的 官網,裡面有詳細的 安裝教程。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 應出現 Package Control:

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

成功安裝 Package Control 之後,我們就可以方便的安裝使用 Sublime Text 的各種外掛:

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...


# 購買(Purchase)

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

不過不購買 Sublime Text 也可以 “正常” 使用它,只是 Sublime Text 會時不時的彈出一個對話方塊提醒你購買,此外視窗處會有一個很屌絲很 low 逼的 (UNREGISTERED)。(在高頻操作下,一般 20 分鐘提示一次,個人認為算是很厚道了)

也許不少人會覺著 Sublime Text 70 刀的價格太貴,但相比它的功能和帶來的效率提升,70 刀真的不值一提,如果你不方便使用 Paypal 付款可以郵件聯絡我,你支付寶給我打款然後我幫你付款,價格按當日匯率折算(450 元左右)。

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...


 概覽(Tour)

# 基本概念(Basic Concepts)

Sublime Text 的介面如下:

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

1.標籤(Tab):無需介紹。

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

3.側欄(Side Bar):包含當前開啟的檔案以及資料夾檢視。

4.縮圖(Minimap):如其名。

5.命令板(Command Palette):Sublime Text 的操作中心,它使得我們基本可以脫離滑鼠和選單欄進行操作。

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

7.狀態列(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 在當前行上面增加一行並跳至該行。

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

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

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

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

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

# 選擇(Selecting)

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

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

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

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

有時我們需要對一片區域的所有行進行同時編輯,Ctrl + Shift + L 可以將當前選中區域打散,然後進行同時編輯:

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

有打散自然就有合併,Ctrl + J 可以把當前選中區域合併為一行:

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...


# 查詢&替換(Finding&Replacing)

Sublime Text 提供了強大的查詢(和替換)功能,為了提供一個清晰的介紹,我將 Sublime Text 的查詢功能分為 快速查詢、標準查詢 和 多檔案查詢 三種型別。

# 快速查詢&替換

多數情況下,我們需要查詢文中某個關鍵字出現的其它位置,這時並不需要重新將該關鍵字重新輸入一遍然後搜尋,我們只需要使用 Shift + ←/→ 或 Ctrl + D 選中關鍵字,然後 F3 跳到其下一個出現位置, Shift + F3 跳到其上一個出現位置,此外還可以用 Alt + F3 選中其出現的所有位置(之後可以進行多重編輯,也就是快速替換)。

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

# 標準查詢&替換

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

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

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

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

# 關鍵字查詢&替換

對於普通使用者來說,常規的關鍵字搜尋就可以滿足其需求:在搜尋框輸入關鍵字後 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)變的非常方便:

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

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

# 正規表示式查詢&替換

正規表示式 是非常強大的文字查詢&替換工具,Sublime Text中使用 Alt + R 切換正則匹配模式的開啟/關閉。Sublime Text的使用Boost裡的Perl正規表示式風格。

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

# 多檔案搜尋&替換

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

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

多檔案搜尋&替換預設在當前開啟的檔案和資料夾進行搜尋/替換,我們也可以指定檔案/資料夾進行搜尋/替換。


# 跳轉(Jumping)

Sublime Text 提供了強大的跳轉功能使得我們可以在不同的檔案/方法/函式中無縫切換。就我的使用經驗而言,目前還沒有哪一款編輯器可以在這個方面超越Sublime Text。

# 跳轉到檔案

Ctrl + P 會列出當前開啟的檔案(或者是當前資料夾的檔案),輸入檔名然後 Enter 跳轉至該檔案。

需要注意的是,Sublime Text使用模糊字串匹配(Fuzzy String Matching),這也就意味著你可以通過檔名的字首、首字母或是某部分進行匹配:例如, EIS 、 Eclip 和 Stupid 都可以匹配 EclipseIsStupid.java 。

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

# 跳轉到符號

儘管是一個文字編輯器,Sublime Text 能夠對程式碼符號進行一定程度的索引。Ctrl + R 會列出當前檔案中的符號(例如類名和函式名,但無法深入到變數名),輸入符號名稱 Enter 即可以跳轉到該處。

此外,還可以使用 F12 快速跳轉到當前游標所在符號的定義處(Jump to Definition)。

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

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

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

# 跳轉到某行

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

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

# 組合跳轉

在 Ctrl + P 匹配到檔案後,我們可以進行後續輸入以跳轉到更精確的位置:

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

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

3.: 行號跳轉:輸入 :12 跳轉到檔案的第12行。

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

所以 Sublime Text 把 Ctrl + P 稱之為 “Go To Anything”,這個功能如此好用,以至於我認為沒有其它編輯器能夠超越它。


# 中文輸入法的問題

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

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

目前官方還沒有修復這個 bug,解決方法是安裝 IMESupport 外掛,之後重啟 Sublime Text 問題就解決了。

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

# 資料夾(Folders)

Sublime Text 支援以資料夾做為單位進行編輯,這在編輯一個資料夾下的程式碼時尤其有用。在 File 下 Open Folder :

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

你會發現右邊多了一個側欄,這個側欄列出了當前開啟的檔案和資料夾的檔案,使用 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 進行上下左右分屏(即分為四屏)。

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

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

# 全屏(Full Screen)

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

個人強烈建議在開啟全屏前關閉選單欄(Toggle Menu),否則全屏效果會大打折扣。

F11 切換普通全屏:

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

Shift + F11 切換無干擾全屏:

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

# 風格(Styles)

風格對於任何軟體都很重要,對編輯器也是如此,尤其是GUI環境下的編輯器。作為一個程式設計師,我希望我的編輯器足夠簡潔且足夠個性。

Notepad++ 預設介面

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

Sublime Text 預設介面

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

所以在用過 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,

設定之後的效果如下:

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

# 主題(Themes)

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

Soda Light

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

Soda Dark

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

Nexus

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...


Flatland

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

Spacegray Light

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

Spacegray Dark

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

# 配色(Color)

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

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

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

效果如下:

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

# 編碼(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 即可生成程式碼段。

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

你可以通過Package Control安裝第三方程式碼段,也可以自己建立程式碼段,參考這裡

# 格式化(Formatting)

Sublime Text 基本的手動格式化操作包括:Ctrl + [ 向左縮排, Ctrl + ] 向右縮排,此外 Ctrl + Shift + V 可以以當前縮排貼上程式碼(非常實用)。

除了手動格式化,我們也可以通過安裝外掛實現自動縮排和智慧對齊:

1.HTMLBeautify:格式化HTML。

2.AutoPEP8:格式化Python程式碼。

3.Alignment:進行智慧對齊。

# 自動完成(Auto Completion)

Sublime Text 支援一定的自動完成,按 Tab 自動補全。

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

# 括號(Brackets)

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

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

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

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

# 命令列(Command Line)

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

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

# 其它(Miscellaneous)

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

下面是一些可能有用但我很少用到的功能:

1.巨集(Macro):Sublime Text 支援錄製巨集,但我在實際工作中並未發現巨集有多大用處。

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.構建(Build):通過配置,Sublime Text可以進行 原始碼構建。

6.除錯(Debug):通過安裝 外掛,Sublime Text 可以對程式碼進行除錯。


# 快捷鍵列表(Shortcuts Cheatsheet)

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

通用(General)

1.↑↓←→:上下左右移動游標,注意不是不是 KJHL !

2.Alt:調出選單

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

4.Ctrl + ` :調出控制檯


# 編輯(Editing)

1.Ctrl + Enter:在當前行下面新增一行然後跳至該行

2.Ctrl + Shift + Enter:在當前行上面增加一行並跳至該行

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

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

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

6.Ctrl + Shift + ↑/↓移動當前行


#選擇(Selecting)

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

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

3.Ctrl + J:把當前選中區域合併為一行

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

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

6.Ctrl + Shift + J:快速選擇同縮排的內容

7.Ctrl + Shift + Space:快速選擇當前作用域(Scope)的內容


# 查詢&替換(Finding&Replacing)

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

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

3.Alt + F3:選中當前關鍵字出現的所有位置

4.Ctrl + F/H:進行標準查詢/替換,之後:

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

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

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

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

9.Ctrl + Alt + Enter:替換所有關鍵字匹配

10.Ctrl + Shift + F:多檔案搜尋&替換


# 跳轉(Jumping)

1.Ctrl + P:跳轉到指定檔案,輸入檔名後可以:

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

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

4.: 行號跳轉:輸入 :12 跳轉到檔案的第12行。

5.Ctrl + R:跳轉到指定符號

6.Ctrl + G:跳轉到指定行號


# 視窗(Window)

1.Ctrl + Shift + N:建立一個新視窗

2.Ctrl + N:在當前視窗建立一個新標籤

3.Ctrl + W:關閉當前標籤,當視窗內沒有標籤時會關閉該視窗

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


# 螢幕(Screen)

1.F11:切換普通全屏

2.Shift + F11:切換無干擾全屏

3.Alt + Shift + 2:進行左右分屏

4.Alt + Shift + 8:進行上下分屏

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

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


延伸閱讀(Further Reading)


# 書籍(Books)

Mastering Sublime Text:我讀過的唯一一本關於 Sublime Text 的書籍,書中介紹的外掛很實用,但對編輯技巧介紹不全。

Instant Sublime Text Starter:另外一本關於 Sublime Text的書,我沒有讀過。


# 連結(Links)

1.官方文件:http://www.sublimetext.com/docs/3/

2.官方論壇:http://www.sublimetext.com/forum/

3.Stack Overflow 的 Sublime Text 頻道:4.http://stackoverflow.com/questions/tagged/sublimetext

5.http://stackoverflow.com/questions/tagged/sublimetext2

6.http://stackoverflow.com/questions/tagged/sublimetext3

7.非官方文件:http://sublime-text-unofficial-documentation.readthedocs.org/ 甚至比官方文件還要全面!

8.Package Control:https://sublime.wbond.net/ 大量的 Sublime Text 外掛和主題。

# 視訊(Videos)

1.Getting Started with SublimeText:https://www.youtube.com/watch?v=04gKiTiRlq8

2.Sublime Text Pefect Workflow:https://www.youtube.com/watch?v=bpEp0ePIOEM&list=PLuwqxbvf3olpLsnFvo06gbrkcEB5o7K0g

- END -

如果看到這裡,說明你喜歡這篇文章,請轉發、點贊掃描下方二維碼或者微信搜尋「perfect_iscas」,新增好友後即可獲得10套程式設計師全棧課程+1000套PPT和簡歷模板向我私聊「進群」二字即可進入高質量交流群。

送幾本書《Pytorch深度學習入門》《演算法交易員》等

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

掃描二維碼進群↓

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

在看 收藏:因為有這篇Sublime Text使用教程,我立即解除安裝掉了Notepad+...

相關文章