Sublime Text是一款跨平臺代碼編輯器(Code Editor),從最初的Sublime Text 1.0,到如今的Sublime Text 3.0,Sublime Text從一個不知名的編輯器演變到如今幾乎是各平臺首選的GUI編輯器。特別是Sublime Text編寫JavaScript/HTML/Python是很是好的利器。Sublime Text官網下載地址戳這裏:http://www.sublimetext.com/javascript
Sublime Text官方網站提供了Sublime Text各系統各版本的下載,目前Sublime Text的最新版本是Sublime Text 3。這裏以Windows版本的Sublime Text安裝爲例。html
注意在安裝時勾選Add to explorer context menu,這樣在右鍵單擊文件時就能夠直接使用Sublime Text打開。前端
使用Win + R
運行sysdm.cpl
打開「系統屬性」。java
而後在「高級」選項卡里選擇「環境變量」,編輯「Path」,增長Sublime Text的安裝目錄(例如 C:\Program Files\Sublime Text 3)。程序員
接下來你就能夠在命令行裏面利用subl
命令直接使用Sublime Text了:正則表達式
subl file 使用Sublime Text打開file文件chrome
subl folder 使用Sublime Text打開folder文件夾編程
subl . 使用Sublime Text當前文件夾windows
前文提到Sublime Text支持大量插件,如何找到並管理這些插件就成了一個問題,Package Control正是爲了解決這個問題而出現的,利用它咱們能夠很方便的瀏覽、安裝和卸載Sublime Text中的插件。sublime-text
進入Package Control的官網,裏面有詳細的安裝教程。Package Control支持Sublime Text 2和3,本文只給出3的安裝流程:
Ctrl + `
打開Sublime Text控制檯。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 elseopen(os.path.join( ipp, pf), 'wb' ).write(by)
Ctrl + Shift + P
打開命令板,輸入install
應出現Package Control:成功安裝Package Control以後,咱們就能夠方便的安裝使用Sublime Text的各類插件:
Sublime Text是一個收費閉源軟件,這在必定程度上成爲了我支持Sublime Text的理由(我心中的軟件靠譜程度:免費開源 << 免費閉源 < 收費開源 < 收費閉源):戳這裏購買。
不過不購買Sublime Text也能夠「正常」使用它,只是Sublime Text會時不時的彈出一個對話框提醒你購買,此外窗口處會有一個很屌絲很low逼的(UNREGISTERED)。雖然也只是偶爾彈出提示購買,並無任何功能限制。快把DreamWeaver打入冷宮吧!可是,做爲一個不是處女座勝似處女座的挨踢民工你叫我怎麼忍?!!
用着我沒過四級的英語水平Google到了可用的許可證一枚,造福社會(:不尊重知識產權的渣渣…
—– BEGIN LICENSE —– TwitterInc 200 User License EA7E-890007 1D77F72E 390CDD93 4DCBA022 FAF60790 61AA12C0 A37081C5 D0316412 4584D136 94D7F7D4 95BC8C1C 527DA828 560BB037 D1EDDD8C AE7B379F 50C9D69D B35179EF 2FE898C4 8E4277A8 555CE714 E1FB0E43 D5D52613 C3D12E98 BC49967F 7652EED2 9D2D2E61 67610860 6D338B72 5CF95C69 E36B85CC 84991F19 7575D828 470A92AB —— END LICENSE ——
易用性:
ChineseLocalization , 徹底漢化插件
Monokai Extended 主題,推薦使用
HTML5,HTML5標籤拓展
JsFormat,javascript格式化
CSS Format,CSS格式化
Tag,HTML格式化
Brackethighlighter,標籤對標記
SideBarEnhancements ,加強型側邊欄
BufferScroll,代碼摺疊狀態保留
StyleToken , 標記顏色代碼功能:
Emmet,前端神器
TortoiseSVN,SVN你懂的
QuoteHTML,把HTML拼接成js插入字符串,神器
Clipboard Manager,加強型剪貼板,可訪問歷史剪貼板記錄
FileHeader,文件模板 , 可自動更新修改時間
AutoPrefixer,瀏覽器私有屬性前綴補全 (Node.js依賴)
ColorConvert,RGBA顏色轉換,十六進制顏色轉換爲RGBA顏色
Better Completion,全能代碼提示
LiveStyle,雙向更改無刷新實時預覽 , 包含chrome插件 Emmet LiveStyle
SFTP , 須要激活 ,看這裏 Sublime Text SVN/SFTP 插件序列號經過微信自動獲取
*jQuery,jQuery 代碼提示(Better Completion 已可替代此插件)
*Sass以及SASS Build,使用Sass必備,ctrl+b執行編譯
*yui compressor,JS和CSS壓縮 (JRE依賴),ctrl+b執行編譯推薦使用面向將來的前端自動化工具(相對成熟的Grunt,以及後起之秀 Gulp ,還有百度 FIE),以上兩個星標插件均可被自動化工具所取代。Gulp教程移步這裏:Gulp 自動化你的前端
其餘:
ConvertToUTF8,GBK編碼兼容
IMESupport,輸入法不跟隨時安裝
TrailingSpaces,多餘空格標記,強迫症患者福音
Hasher,符號轉義,ctrl+shift+p 選擇 Entity Encode
PackageResourceViewer,插件修改必備,ctrl+shift+p 調用 Open Resource
一、查找打開過的文件:Ctrl+P,而後輸入最近的文件名就能夠即時預覽到文件內容。
二、命令輸入框:Ctrl+Shift+P
Set Syntax : [編程語言]
能夠縮寫爲:
sspy
這樣就能夠切換語法模式了,這以便於代碼高亮及插件調用(好比HTML模式會使Emmet生效)
我在這裏推薦給你們一個優秀的主題,這是我試事後感受最好的。該主題套裝內置多種主題方案,它多是目前你在擴展中心能找到的最好的主題。
它就是 Boxy Theme –> Boxy Theme – Packages – Package Control
↑↓←→
就是↑↓←→
,不是KJHL
,(沒錯我就是在吐槽Vim,尼瑪設成WSAD
也比這個強啊),粘貼剪切複製均和系統一致。
Ctrl + Enter
在當前行下面新增一行而後跳至該行;Ctrl + Shift + Enter
在當前行上面增長一行並跳至該行。
Ctrl + ←/→
進行逐詞移動,相應的,Ctrl + Shift + ←/→
進行逐詞選擇。
Ctrl + ↑/↓
移動當前顯示區域,Ctrl + Shift + ↑/↓
移動當前行。
Sublime Text的一大亮點是支持多重選擇——同時選擇多個區域,而後同時進行編輯。
Ctrl + D
選擇當前光標所在的詞並高亮該詞全部出現的位置,再次Ctrl + D
選擇該詞出現的下一個位置,在多重選詞的過程當中,使用Ctrl + K
進行跳過,使用Ctrl + U
進行回退,使用Esc
退出多重編輯。
多重選詞的一大應用場景就是重命名——從而使得代碼更加整潔。儘管Sublime Text沒法像IDE(例如Eclipse)那樣進行自動重命名,但咱們能夠經過多重選詞+多重編輯進行直觀且便捷的重命名:
有時咱們須要對一片區域的全部行進行同時編輯,Ctrl + Shift + L
能夠將當前選中區域打散,而後進行同時編輯:
有打散天然就有合併,Ctrl + J
能夠把當前選中區域合併爲一行:
Sublime Text提供了強大的查找(和替換)功能,爲了提供一個清晰的介紹,我將Sublime Text的查找功能分爲快速查找、標準查找和多文件查找三種類型。
多數狀況下,咱們須要查找文中某個關鍵字出現的其它位置,這時並不須要從新將該關鍵字從新輸入一遍而後搜索,咱們只須要使用Shift + ←/→
或Ctrl + D
選中關鍵字,而後F3
跳到其下一個出現位置,Shift + F3
跳到其上一個出現位置,此外還能夠用Alt + F3
選中其出現的全部位置(以後能夠進行多重編輯,也就是快速替換)。
另外一種常見的使用場景是搜索某個已知但不在當前顯示區域的關鍵字,這時可使用Ctrl + F
調出搜索框進行搜索:
以及使用Ctrl + H
進行替換:
對於普通用戶來講,常規的關鍵字搜索就能夠知足其需求:在搜索框輸入關鍵字後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 + Enter
替換全部匹配關鍵字。
正則表達式是很是強大的文本查找&替換工具,Sublime Text中使用Alt + R
切換正則匹配模式的開啓/關閉。Sublime Text的使用Boost裏的Perl正則表達式風格。
出於篇幅緣由,本文不會對正則表達式進行詳細介紹,Mastering Regex(中譯本:精通正則表達式)對正則表達式的原理和各語言下的使用進行了詳細介紹。此外網上有大量正則表達式的優秀教程(「正則表達式30分鐘入門教程」和MSDN正則表達式教程),以及在線測試工具(regexpal和regexer)。
多文件搜索&替換默認在當前打開的文件和文件夾進行搜索/替換,咱們也能夠指定文件/文件夾進行搜索/替換。
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
會列出其大綱,很是實用。
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問題就解決了。
Sublime Text支持以文件夾作爲單位進行編輯,這在編輯一個文件夾下的代碼時尤爲有用。在File
下Open Folder
:
你會發現右邊多了一個側欄,這個側欄列出了當前打開的文件和文件夾的文件,使用Ctrl + K, Ctrl + B
顯示或隱藏側欄,使用Ctrl + P
快速跳轉到文件夾裏的文件。
Sublime Text是一個多窗口多標籤編輯器:咱們既能夠開多個Sublime Text窗口,也能夠在一個Sublime Text窗口內開多個標籤。
使用Ctrl + Shift + N
建立一個新窗口(該快捷鍵再次和搜狗輸入法快捷鍵衝突,我的建議禁用全部搜狗輸入法快捷鍵)。
當窗口內沒有標籤時,使用Ctrl + W
關閉該窗口。
使用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屏。
Sublime Text有兩種全屏模式:普通全屏和無干擾全屏。
我的強烈建議在開啓全屏前關閉菜單欄(Toggle Menu),不然全屏效果會大打折扣。
F11
切換普通全屏:
Shift + F11
切換無干擾全屏:
風格對於任何軟件都很重要,對編輯器也是如此,尤爲是GUI環境下的編輯器。做爲一個程序員,我但願個人編輯器足夠簡潔且足夠個性。
用過Sublime Text以後,我馬上就卸掉了Notepad++。
Sublime Text自帶的風格是我喜歡的深色風格(也能夠調成淺色),默認主題是Monokai Bright
,這二者的搭配已經很不錯了,不過咱們還能夠作得更好:接下來我將會展現如何經過設置偏好項和添加自定義風格/主題使得Sublime Text更加Stylish。
下面是我我的使用的設置項。
// 設置Sans-serif(無襯線)等寬字體,以便閱讀 "font_face": "YaHei Consolas Hybrid", "font_size": 12, // 使光標閃動更加柔和 "caret_style": "phase", // 高亮當前行 "highlight_line": true, // 高亮有修改的標籤 "highlight_modified_tabs": true,
設置以後的效果以下:
使用Ctrl + Shift + F
開啓多文件搜索&替換(注意此快捷鍵和搜狗輸入法的簡繁切換快捷鍵有衝突):
前面已經介紹過一款主題,Sublime Text有大量第三方主題:[https://sublime.wbond.net/browse/labels/theme],這裏我給出幾個我的感受不錯的主題:
colorsublime包含了大量Sublime Text配色方案,並支持在線預覽,配色方案的安裝教程在這裏,恕不贅述。
我我的使用的是Nexus主題和Flatland Dark配色,配置以下:
"theme": "Nexus.sublime-theme", "color_scheme": "Packages/Theme - Flatland/Flatland Dark.tmTheme",
效果以下:
優秀的編輯器使編碼變的更加容易,因此Sublime Text提供了一系列功能以提升開發效率。
良好的代碼應該是規範的,因此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,
Sublime Text支持代碼段(Code Snippet),輸入代碼段名稱後Tab
便可生成代碼段。
你能夠經過Package Control安裝第三方代碼段,也能夠本身建立代碼段,參考這裏。
Sublime Text基本的手動格式化操做包括:Ctrl + [
向左縮進,Ctrl + ]
向右縮進,此外Ctrl + Shift + V
能夠以當前縮進粘貼代碼(很是實用)。
除了手動格式化,咱們也能夠經過安裝插件實現自動縮進和智能對齊:
Sublime Text 支持必定的自動完成,按Tab
自動補全。
編寫代碼時會碰到大量的括號,利用Ctrl + M
能夠快速的在起始括號和結尾括號間切換,Ctrl + Shift + M
則能夠快速選擇括號間的內容,對於縮進型語言(例如Python)則可使用Ctrl + Shift + J
。
此外,我使用BracketHighlighter插件以高亮顯示配對括號以及當前光標所在區域,效果以下:
儘管提供了Python控制檯,但Sublime Text的控制檯僅支持單行輸入,十分不方便,因此我使用SublimeREPL以進行一些編碼實驗(Experiments)。
儘管我試圖在本文包含儘量多的Sublime Text實用技能,但受限於篇幅和個人我的經驗,本文仍難免有所遺漏,歡迎在評論裏指出本文的錯誤及遺漏。
下面是一些可能有用但我不多用到的功能:
我把本文出現的Sublime Text按其類型整理在這裏,以便查閱。
↑↓←→
:上下左右移動光標,注意不是否是KJHL
!Alt
:調出菜單Ctrl + Shift + P
:調出命令板(Command Palette)Ctrl + `
:調出控制檯Ctrl + Enter
:在當前行下面新增一行而後跳至該行Ctrl + Shift + Enter
:在當前行上面增長一行並跳至該行Ctrl + ←/→
:進行逐詞移動Ctrl + Shift + ←/→
進行逐詞選擇Ctrl + ↑/↓
移動當前顯示區域Ctrl + Shift + ↑/↓
移動當前行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)的內容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 + Enter
:替換全部關鍵字匹配Ctrl + Shift + F
:多文件搜索&替換Ctrl + P
:跳轉到指定文件,輸入文件名後能夠:
@
符號跳轉:輸入@symbol
跳轉到symbol
符號所在的位置#
關鍵字跳轉:輸入#keyword
跳轉到keyword
所在的位置:
行號跳轉:輸入:12
跳轉到文件的第12行。Ctrl + R
:跳轉到指定符號Ctrl + G
:跳轉到指定行號Ctrl + Shift + N
:建立一個新窗口Ctrl + N
:在當前窗口建立一個新標籤Ctrl + W
:關閉當前標籤,當窗口內沒有標籤時會關閉該窗口Ctrl + Shift + T
:恢復剛剛關閉的標籤F11
:切換普通全屏Shift + F11
:切換無干擾全屏Alt + Shift + 2
:進行左右分屏Alt + Shift + 8
:進行上下分屏Alt + Shift + 5
:進行上下左右分屏Ctrl + 數字鍵
跳轉到指定屏,使用Ctrl + Shift + 數字鍵
將當前屏移動到指定屏原文地址:http://www.madongdong.me/sublime-text3%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/
做者:馬東東