Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 曰本亚洲欧洲色a在线,麻豆国内精品欧美在线,91精品国产99久久

          整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          修改eclipse自帶格式化插件,美化格式化后樣式

          clipse格式化Java、JavaScript、JSP、HTML代碼設(shè)置

          eclipse Oxygen.2

          修改步驟

          打開:Window->Preferences

          • Java 格式化

          Java->Code Style->Formatter->New->Edit->Line Wrapping

          Maximum Line width = 180

          Set line width for preview window = 180

          • JavaScript 格式化

          JavaScript->Code Style->Formatter->New->Edit->Line Wrapping

          Maximum Line width = 180

          Set line width for preview window = 180

          Tab標(biāo)簽頁->Comments

          Maximum line width for comments = 180

          • JSP|HTML頁面 格式化

          Web->HTML Files->Editor

          Line width = 180

          Inline Elements 選中所有-> Remove

          格式化前效果

          格式化前

          格式化后

          格式化后

          喜歡本文可以收藏,或者點(diǎn)個(gè)關(guān)注,每天都有新鮮技術(shù)分享

          者:lucida

          鏈接:http://lucida.me/blog/sublime-text-complete-guide/


          # 摘要(Abstract)


          本文系統(tǒng)全面的介紹了 Sublime Text,旨在成為最優(yōu)秀的 Sublime Text 中文教程。


          # 更新記錄


          1.2014/09/27:完成初稿


          2.2014/09/28:


          更正打開控制臺(tái)的快捷鍵為 Ctrl + `

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


          3.2016/09/15:作者已全面轉(zhuǎn)向 Visual Studio Code


          # 前言(Prologue)


          Sublime Text 是一款跨平臺(tái)代碼編輯器(Code Editor),從最初的 Sublime Text 1.0,到現(xiàn)在的 Sublime Text 3.0,Sublime Text 從一個(gè)不知名的編輯器演變到現(xiàn)在幾乎是各平臺(tái)首選的 GUI 編輯器。而這樣優(yōu)秀的編輯器卻沒有一個(gè)靠譜的中文教程,所以我試圖通過本文彌補(bǔ)這個(gè)缺陷。


          # 編輯器的選擇(Editor Choices)


          從初學(xué)編程到現(xiàn)在,我用過的編輯器有 EditPlus、UltraEdit、Notepad++、Vim、TextMate 和 Sublime Text,如果讓我從中推薦,我會(huì)毫不猶豫的推薦 Vim 和 Sublime Text,原因有下面幾點(diǎn):


          1.跨平臺(tái):Vim 和 Sublime Text 均為跨平臺(tái)編輯器(在 Linux、OS X 和 Windows 下均可使用)。作為一個(gè)程序員,切換系統(tǒng)是常有的事情,為了減少重復(fù)學(xué)習(xí),使用一個(gè)跨平臺(tái)的編輯器是很有必要的。


          2.可擴(kuò)展:Vim 和 Sublime Text 都是可擴(kuò)展的(Extensible),并包含大量實(shí)用插件,我們可以通過安裝自己領(lǐng)域的插件來成倍提高工作效率。


          3.互補(bǔ):Vim 和 Sublime Text 分別是命令行環(huán)境(CLI)和圖形界面環(huán)境(GUI)下的最佳選擇,同時(shí)使用兩者會(huì)大大提高工作效率。


          # 個(gè)人背景(Personal Background)


          我是一名非常典型的程序員:平時(shí)工作主要在 Linux 環(huán)境下使用 Java 和 Python,偶爾會(huì)用 HTML+CSS+JavaScript 編寫網(wǎng)頁;業(yè)余時(shí)會(huì)在 Windows 環(huán)境編寫一些 C# 程序(包括控制臺(tái)程序(Console Application)和移動(dòng)應(yīng)用(Mobile App),也會(huì)玩一些非主流語言(比如 Haskell,ML 和 Ruby 等)以拓展見識(shí)。


          所以這篇文章會(huì)我的個(gè)人工作內(nèi)容為主要使用場(chǎng)景(Scenario),盡管無法覆蓋到所有的使用場(chǎng)景,但我認(rèn)為依然可以覆蓋到絕大部分,如果您認(rèn)為我遺漏了什么內(nèi)容,請(qǐng)?jiān)谖恼孪旅婊貜?fù),我會(huì)盡量更新。


          # 本文風(fēng)格(Writing Style)


          受益于 K&R C 的寫作風(fēng)格,我傾向于以實(shí)際案例來講解 Sublime Text 的功能,所以本文中的例子均源于我在實(shí)際開發(fā)時(shí)遇到的問題。


          此外,把本文會(huì)使用大量動(dòng)畫(GIF)演示 Sublime Text 的編輯功能,因?yàn)槲野l(fā)現(xiàn)圖片難以演示完整的編輯流程(Workflow),而視頻又過于重量級(jí)。本文的GIF動(dòng)畫均使用 ScreenToGif 進(jìn)行錄制。


          # 編輯器(Editor) vs 集成開發(fā)環(huán)境(Integrated Development Environment,下文簡(jiǎn)稱 IDE)


          我經(jīng)常看到一些程序員拿編輯器和 IDE 進(jìn)行比較,諸如 Vim 比 Eclipse 強(qiáng)大或是 Visual Studio 太慢不如 Notepad++ 好使之類的討論比比皆是,個(gè)人認(rèn)為這些討論沒有意義,因?yàn)榫庉嬈骱?IDE 根本是面向兩種不同使用場(chǎng)景的工具:


          1.編輯器面向無語義的純文本,不涉及領(lǐng)域邏輯,因此速度快體積小,適合編寫單獨(dú)的配置文件和動(dòng)態(tài)語言腳本(Shell、Python 和 Ruby 等)。


          2.IDE 面向有語義的代碼,會(huì)涉及到大量領(lǐng)域邏輯,因此速度偏慢體積龐大,適合編寫靜態(tài)語言項(xiàng)目(Java、C++ 和 C# 等)。


          我認(rèn)為應(yīng)當(dāng)使用正確的工具去做有價(jià)值的事情,并把效率最大化,所以我會(huì)用 Eclipse 編寫 Java 項(xiàng)目,用 Vim 編寫Shell,用 Sublime Text 編寫 JavaScript/HTML/Python,用 Visual Studio 編寫C#。


          前言到此結(jié)束,下面進(jìn)入正題。


          # 安裝(Installation)


          Sublime Text 官方網(wǎng)站 提供了 Sublime Text 各系統(tǒng)各版本的下載,目前Sublime Text 的最新版本是 Sublime Text 3。這里以 Windows 版本的 Sublime Text 安裝為例。


          注意在安裝時(shí)勾選 Add to explorer context menu,這樣在右鍵單擊文件時(shí)就可以直接使用 Sublime Text 打開。



          # 添加 Sublime Text 到環(huán)境變量


          使用 Win + R 運(yùn)行 sysdm.cpl 打開 “系統(tǒng)屬性”。



          然后在 “高級(jí)” 選項(xiàng)卡里選擇 “環(huán)境變量”,編輯 “Path”,增加 Sublime Text 的安裝目錄(例如 D:\Program Files\Sublime Text 3)。



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


          subl file    :: 使用 Sublime Text 打開 file 文件
          subl folder  :: 使用 Sublime Text 打開 folder 文件夾
          subl .       :: 使用 Sublime Text 當(dāng)前文件夾


          # 安裝 Package Control


          前文提到 Sublime Text 支持大量插件,如何找到并管理這些插件就成了一個(gè)問題,Package Control 正是為了解決這個(gè)問題而出現(xiàn)的,利用它我們可以很方便的瀏覽、安裝和卸載 Sublime Text 中的插件。


          進(jìn)入 Package Control 的 官網(wǎng),里面有詳細(xì)的 安裝教程。Package Control 支持 Sublime Text 2 和 3,本文只給出 3 的安裝流程:


          1.使用 Ctrl + ` 打開 Sublime Text 控制臺(tái)。

          2.將下面的代碼粘貼到控制臺(tái)里:

          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 是一個(gè)收費(fèi)閉源軟件,這在一定程度上成為了我支持 Sublime Text 的理由(我心中的軟件靠譜程度:免費(fèi)開源 << 免費(fèi)閉源 < 收費(fèi)開源 < 收費(fèi)閉源):在 這里 購買。


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


          也許不少人會(huì)覺著 Sublime Text 70 刀的價(jià)格太貴,但相比它的功能和帶來的效率提升,70 刀真的不值一提,如果你不方便使用 Paypal 付款可以郵件聯(lián)系我,你支付寶給我打款然后我?guī)湍愀犊睿瑑r(jià)格按當(dāng)日匯率折算(450 元左右)。



          概覽(Tour)


          # 基本概念(Basic Concepts)


          Sublime Text 的界面如下:



          1.標(biāo)簽(Tab):無需介紹。

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

          3.側(cè)欄(Side Bar):包含當(dāng)前打開的文件以及文件夾視圖。

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

          5.命令板(Command Palette):Sublime Text 的操作中心,它使得我們基本可以脫離鼠標(biāo)和菜單欄進(jìn)行操作。

          6.控制臺(tái)(Console):使用 Ctrl + ` 調(diào)出,它既是一個(gè)標(biāo)準(zhǔn)的 Python REPL,也可以直接對(duì) Sublime Text 進(jìn)行配置。

          7.狀態(tài)欄(Status Bar):顯示當(dāng)前行號(hào)、當(dāng)前語言和Tab格式等信息。


          # 配置(Settings)


          與其他 GUI 環(huán)境下的編輯器不同,Sublime Text 并沒有一個(gè)專門的配置界面,與之相反,Sublime Text 使用 JSON 配置文件,例如:

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


          會(huì)將默認(rèn)字體大小調(diào)整為 12,并高亮當(dāng)前行。

          JSON 配置文件的引入簡(jiǎn)化了 Sublime Text 的界面,但也使得配置變的復(fù)雜,一般我會(huì)到 這里 查看可用的 Sublime Text 配置。


          # 編輯(Editing)


          Sublime Text 的編輯十分人性化——它不像 Vim 那樣反人類(盡管我也用 Vim 但我還是要說 Vim 的快捷鍵設(shè)定絕壁連代謝產(chǎn)物都不如),少量的快捷鍵就可以完成絕大多數(shù)編輯任務(wù)。


          # 基本編輯(Basic Editing)


          ↑↓←→ 就是 ↑↓←→,不是 KJHL,(沒錯(cuò)我就是在吐槽 Vim,尼瑪設(shè)成 WSAD 也比這個(gè)強(qiáng)啊),粘貼剪切復(fù)制均和系統(tǒng)一致。


          Ctrl + Enter 在當(dāng)前行下面新增一行然后跳至該行;Ctrl + Shift + Enter 在當(dāng)前行上面增加一行并跳至該行。



          Ctrl + ←/→ 進(jìn)行逐詞移動(dòng),相應(yīng)的,Ctrl + Shift + ←/→ 進(jìn)行逐詞選擇。



          Ctrl + ↑/↓ 移動(dòng)當(dāng)前顯示區(qū)域,Ctrl + Shift + ↑/↓ 移動(dòng)當(dāng)前行。




          # 選擇(Selecting)


          Sublime Text 的一大亮點(diǎn)是支持多重選擇——同時(shí)選擇多個(gè)區(qū)域,然后同時(shí)進(jìn)行編輯。


          Ctrl + D 選擇當(dāng)前光標(biāo)所在的詞并高亮該詞所有出現(xiàn)的位置,再次 Ctrl + D 選擇該詞出現(xiàn)的下一個(gè)位置,在多重選詞的過程中,使用 Ctrl + K 進(jìn)行跳過,使用 Ctrl + U 進(jìn)行回退,使用 Esc 退出多重編輯。


          多重選詞的一大應(yīng)用場(chǎng)景就是重命名——從而使得代碼更加整潔。盡管 Sublime Text 無法像 IDE(例如 Eclipse)那樣進(jìn)行自動(dòng)重命名,但我們可以通過多重選詞+多重編輯進(jìn)行直觀且便捷的重命名:



          有時(shí)我們需要對(duì)一片區(qū)域的所有行進(jìn)行同時(shí)編輯,Ctrl + Shift + L 可以將當(dāng)前選中區(qū)域打散,然后進(jìn)行同時(shí)編輯:



          有打散自然就有合并,Ctrl + J 可以把當(dāng)前選中區(qū)域合并為一行:



          # 查找&替換(Finding&Replacing)


          Sublime Text 提供了強(qiáng)大的查找(和替換)功能,為了提供一個(gè)清晰的介紹,我將 Sublime Text 的查找功能分為 快速查找、標(biāo)準(zhǔn)查找 和 多文件查找 三種類型。


          # 快速查找&替換


          多數(shù)情況下,我們需要查找文中某個(gè)關(guān)鍵字出現(xiàn)的其它位置,這時(shí)并不需要重新將該關(guān)鍵字重新輸入一遍然后搜索,我們只需要使用 Shift + ←/→ 或 Ctrl + D 選中關(guān)鍵字,然后 F3 跳到其下一個(gè)出現(xiàn)位置, Shift + F3 跳到其上一個(gè)出現(xiàn)位置,此外還可以用 Alt + F3 選中其出現(xiàn)的所有位置(之后可以進(jìn)行多重編輯,也就是快速替換)。



          # 標(biāo)準(zhǔn)查找&替換


          另一種常見的使用場(chǎng)景是搜索某個(gè)已知但不在當(dāng)前顯示區(qū)域的關(guān)鍵字,這時(shí)可以使用 Ctrl + F 調(diào)出搜索框進(jìn)行搜索:


          以及使用 Ctrl + H 進(jìn)行替換:


          # 關(guān)鍵字查找&替換


          對(duì)于普通用戶來說,常規(guī)的關(guān)鍵字搜索就可以滿足其需求:在搜索框輸入關(guān)鍵字后 Enter 跳至關(guān)鍵字當(dāng)前光標(biāo)的下一個(gè)位置, Shift + Enter 跳至上一個(gè)位置, Alt + Enter 選中其出現(xiàn)的所有位置(同樣的,接下來可以進(jìn)行快速替換)。


          Sublime Text 的查找有不同的模式:Alt + C 切換大小寫敏感(Case-sensitive)模式, Alt + W 切換整字匹配(Whole matching)模式,除此之外Sublime Text還支持在選中范圍內(nèi)搜索(Search in selection),這個(gè)功能沒有對(duì)應(yīng)的快捷鍵,但可以通過以下配置項(xiàng)自動(dòng)開啟。

          "auto_find_in_selection": true


          這樣之后在選中文本的狀態(tài)下范圍內(nèi)搜索就會(huì)自動(dòng)開啟,配合這個(gè)功能,局部重命名(Local Renaming)變的非常方便:



          使用 Ctrl + H 進(jìn)行標(biāo)準(zhǔn)替換,輸入替換內(nèi)容后,使用 Ctrl + Shift + H 替換當(dāng)前關(guān)鍵字, Ctrl + Alt + Enter 替換所有匹配關(guān)鍵字。


          # 正則表達(dá)式查找&替換


          正則表達(dá)式 是非常強(qiáng)大的文本查找&替換工具,Sublime Text中使用 Alt + R 切換正則匹配模式的開啟/關(guān)閉。Sublime Text的使用Boost里的Perl正則表達(dá)式風(fēng)格。


          出于篇幅原因,本文不會(huì)對(duì)正則表達(dá)式進(jìn)行詳細(xì)介紹,Mastering Regex(中譯本:精通正則表達(dá)式)對(duì)正則表達(dá)式的原理和各語言下的使用進(jìn)行了詳細(xì)介紹。此外網(wǎng)上有大量正則表達(dá)式的優(yōu)秀教程(“正則表達(dá)式30分鐘入門教程” 和 MSDN正則表達(dá)式教程.aspx)),以及在線測(cè)試工具(regexpal 和 regexer)。


          # 多文件搜索&替換


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



          多文件搜索&替換默認(rèn)在當(dāng)前打開的文件和文件夾進(jìn)行搜索/替換,我們也可以指定文件/文件夾進(jìn)行搜索/替換。


          # 跳轉(zhuǎn)(Jumping)


          Sublime Text 提供了強(qiáng)大的跳轉(zhuǎn)功能使得我們可以在不同的文件/方法/函數(shù)中無縫切換。就我的使用經(jīng)驗(yàn)而言,目前還沒有哪一款編輯器可以在這個(gè)方面超越Sublime Text。


          # 跳轉(zhuǎn)到文件


          Ctrl + P 會(huì)列出當(dāng)前打開的文件(或者是當(dāng)前文件夾的文件),輸入文件名然后 Enter 跳轉(zhuǎn)至該文件。


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



          # 跳轉(zhuǎn)到符號(hào)


          盡管是一個(gè)文本編輯器,Sublime Text 能夠?qū)Υa符號(hào)進(jìn)行一定程度的索引。Ctrl + R 會(huì)列出當(dāng)前文件中的符號(hào)(例如類名和函數(shù)名,但無法深入到變量名),輸入符號(hào)名稱 Enter 即可以跳轉(zhuǎn)到該處。


          此外,還可以使用 F12 快速跳轉(zhuǎn)到當(dāng)前光標(biāo)所在符號(hào)的定義處(Jump to Definition)。



          比較有意思的是,對(duì)于 Markdown, Ctrl + R 會(huì)列出其大綱,非常實(shí)用。



          # 跳轉(zhuǎn)到某行


          Ctrl + G 然后輸入行號(hào)以跳轉(zhuǎn)到指定行:



          # 組合跳轉(zhuǎn)


          在 Ctrl + P 匹配到文件后,我們可以進(jìn)行后續(xù)輸入以跳轉(zhuǎn)到更精確的位置:


          1.@ 符號(hào)跳轉(zhuǎn):輸入 @symbol 跳轉(zhuǎn)到 symbol 符號(hào)所在的位置

          2.# 關(guān)鍵字跳轉(zhuǎn):輸入 #keyword 跳轉(zhuǎn)到 keyword 所在的位置

          3.: 行號(hào)跳轉(zhuǎn):輸入 :12 跳轉(zhuǎn)到文件的第12行。



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


          # 中文輸入法的問題


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



          目前官方還沒有修復(fù)這個(gè) bug,解決方法是安裝 IMESupport 插件,之后重啟 Sublime Text 問題就解決了。



          # 文件夾(Folders)


          Sublime Text 支持以文件夾做為單位進(jìn)行編輯,這在編輯一個(gè)文件夾下的代碼時(shí)尤其有用。在 File 下 Open Folder :



          你會(huì)發(fā)現(xiàn)右邊多了一個(gè)側(cè)欄,這個(gè)側(cè)欄列出了當(dāng)前打開的文件和文件夾的文件,使用 Ctrl + K, Ctrl + B 顯示或隱藏側(cè)欄,使用 Ctrl + P 快速跳轉(zhuǎn)到文件夾里的文件。


          # 窗口&標(biāo)簽(Windows & Tabs)


          Sublime Text 是一個(gè)多窗口多標(biāo)簽編輯器:我們既可以開多個(gè)Sublime Text窗口,也可以在一個(gè)Sublime Text窗口內(nèi)開多個(gè)標(biāo)簽。



          # 窗口(Window)


          使用 Ctrl + Shift + N 創(chuàng)建一個(gè)新窗口(該快捷鍵再次和搜狗輸入法快捷鍵沖突,個(gè)人建議禁用所有搜狗輸入法快捷鍵)。


          當(dāng)窗口內(nèi)沒有標(biāo)簽時(shí),使用 Ctrl + W 關(guān)閉該窗口。


          # 標(biāo)簽(Tab)


          使用 Ctrl + N 在當(dāng)前窗口創(chuàng)建一個(gè)新標(biāo)簽, Ctrl + W 關(guān)閉當(dāng)前標(biāo)簽, Ctrl + Shift + T 恢復(fù)剛剛關(guān)閉的標(biāo)簽。


          編輯代碼時(shí)我們經(jīng)常會(huì)開多個(gè)窗口,所以分屏很重要。Alt + Shift + 2 進(jìn)行左右分屏, Alt + Shift + 8 進(jìn)行上下分屏, Alt + Shift + 5 進(jìn)行上下左右分屏(即分為四屏)。



          分屏之后,使用 Ctrl + 數(shù)字鍵 跳轉(zhuǎn)到指定屏,使用 Ctrl + Shift + 數(shù)字鍵 將當(dāng)前屏移動(dòng)到指定屏。例如, Ctrl + 1 會(huì)跳轉(zhuǎn)到1屏,而 Ctrl + Shift + 2 會(huì)將當(dāng)前屏移動(dòng)到2屏。


          # 全屏(Full Screen)


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


          個(gè)人強(qiáng)烈建議在開啟全屏前關(guān)閉菜單欄(Toggle Menu),否則全屏效果會(huì)大打折扣。


          F11 切換普通全屏:



          Shift + F11 切換無干擾全屏:



          # 風(fēng)格(Styles)


          風(fēng)格對(duì)于任何軟件都很重要,對(duì)編輯器也是如此,尤其是GUI環(huán)境下的編輯器。作為一個(gè)程序員,我希望我的編輯器足夠簡(jiǎn)潔且足夠個(gè)性。


          Notepad++ 默認(rèn)界面



          Sublime Text 默認(rèn)界面



          所以在用過 Sublime Text 之后,我立刻就卸掉了 Notepad++。


          Sublime Text 自帶的風(fēng)格是我喜歡的深色風(fēng)格(也可以調(diào)成淺色),默認(rèn)主題是Monokai Bright,這兩者的搭配已經(jīng)很不錯(cuò)了,不過我們還可以做得更好:接下來我將會(huì)展示如何通過設(shè)置偏好項(xiàng)和添加自定義風(fēng)格/主題使得 Sublime Text 更加 Stylish。


          # 一些設(shè)置(Miscellaneous Settings)


          下面是我個(gè)人使用的設(shè)置項(xiàng)。



          設(shè)置之后的效果如下:



          # 主題(Themes)


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


          Soda Light

          Soda Dark

          Nexus



          Flatland

          Spacegray Light



          Spacegray Dark


          # 配色(Color)


          colorsublime 包含了大量 Sublime Text 配色方案,并支持在線預(yù)覽,配色方案的安裝教程在 這里,恕不贅述。


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

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

          效果如下:


          # 編碼(Coding)


          優(yōu)秀的編輯器使編碼變的更加容易,所以 Sublime Text 提供了一系列功能以提高開發(fā)效率。



          # 良好實(shí)踐(Good Practices)


          良好的代碼應(yīng)該是規(guī)范的,所以Google為每一門主流語言都設(shè)置了其代碼規(guī)范(Code Style Guideline)。我自己通過下面的設(shè)置使以規(guī)范化自己的代碼。


          # 代碼段(Code Snippets)


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



          你可以通過Package Control安裝第三方代碼段,也可以自己創(chuàng)建代碼段,參考這里。


          # 格式化(Formatting)


          Sublime Text 基本的手動(dòng)格式化操作包括:Ctrl + [ 向左縮進(jìn), Ctrl + ] 向右縮進(jìn),此外 Ctrl + Shift + V 可以以當(dāng)前縮進(jìn)粘貼代碼(非常實(shí)用)。


          除了手動(dòng)格式化,我們也可以通過安裝插件實(shí)現(xiàn)自動(dòng)縮進(jìn)和智能對(duì)齊:

          1.HTMLBeautify:格式化HTML。

          2.AutoPEP8:格式化Python代碼。

          3.Alignment:進(jìn)行智能對(duì)齊。


          # 自動(dòng)完成(Auto Completion)


          Sublime Text 支持一定的自動(dòng)完成,按 Tab 自動(dòng)補(bǔ)全。



          # 括號(hào)(Brackets)


          編寫代碼時(shí)會(huì)碰到大量的括號(hào),利用 Ctrl + M 可以快速的在起始括號(hào)和結(jié)尾括號(hào)間切換, Ctrl + Shift + M 則可以快速選擇括號(hào)間的內(nèi)容,對(duì)于縮進(jìn)型語言(例如Python)則可以使用 Ctrl + Shift + J 。



          此外,我使用 BracketHighlighter 插件以高亮顯示配對(duì)括號(hào)以及當(dāng)前光標(biāo)所在區(qū)域,效果如下:



          # 命令行(Command Line)


          盡管提供了 Python 控制臺(tái),但 Sublime Text 的控制臺(tái)僅支持單行輸入,十分不方便,所以我使用 SublimeREPL 以進(jìn)行一些編碼實(shí)驗(yàn)(Experiments)。



          # 其它(Miscellaneous)


          盡管我試圖在本文包含盡可能多的 Sublime Text 實(shí)用技能,但受限于篇幅和我的個(gè)人經(jīng)驗(yàn),本文仍不免有所遺漏,歡迎在評(píng)論里指出本文的錯(cuò)誤及遺漏。


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


          1.宏(Macro):Sublime Text 支持錄制宏,但我在實(shí)際工作中并未發(fā)現(xiàn)宏有多大用處。


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


          3.項(xiàng)目(Projects):Sublime Text支持簡(jiǎn)單的 項(xiàng)目管理,但我一般只用到文件夾。


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


          5.構(gòu)建(Build):通過配置,Sublime Text可以進(jìn)行 源碼構(gòu)建。


          6.調(diào)試(Debug):通過安裝 插件,Sublime Text 可以對(duì)代碼進(jìn)行調(diào)試。


          # 快捷鍵列表(Shortcuts Cheatsheet)


          我把本文出現(xiàn)的Sublime Text按其類型整理在這里,以便查閱。

          通用(General)

          1.↑↓←→:上下左右移動(dòng)光標(biāo),注意不是不是 KJHL !

          2.Alt:調(diào)出菜單

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

          4.Ctrl + ` :調(diào)出控制臺(tái)


          # 編輯(Editing)


          1.Ctrl + Enter:在當(dāng)前行下面新增一行然后跳至該行

          2.Ctrl + Shift + Enter:在當(dāng)前行上面增加一行并跳至該行

          3.Ctrl + ←/→:進(jìn)行逐詞移動(dòng)

          4.Ctrl + Shift + ←/→進(jìn)行逐詞選擇

          5.Ctrl + ↑/↓移動(dòng)當(dāng)前顯示區(qū)域

          6.Ctrl + Shift + ↑/↓移動(dòng)當(dāng)前行


          #選擇(Selecting)


          1.Ctrl + D:選擇當(dāng)前光標(biāo)所在的詞并高亮該詞所有出現(xiàn)的位置,再次 Ctrl + D 選擇該詞出現(xiàn)的下一個(gè)位置,在多重選詞的過程中,使用 Ctrl + K 進(jìn)行跳過,使用 Ctrl + U 進(jìn)行回退,使用 Esc 退出多重編輯

          2.Ctrl + Shift + L:將當(dāng)前選中區(qū)域打散

          3.Ctrl + J:把當(dāng)前選中區(qū)域合并為一行

          4.Ctrl + M:在起始括號(hào)和結(jié)尾括號(hào)間切換

          5.Ctrl + Shift + M:快速選擇括號(hào)間的內(nèi)容

          6.Ctrl + Shift + J:快速選擇同縮進(jìn)的內(nèi)容

          7.Ctrl + Shift + Space:快速選擇當(dāng)前作用域(Scope)的內(nèi)容


          # 查找&替換(Finding&Replacing)


          1.F3:跳至當(dāng)前關(guān)鍵字下一個(gè)位置

          2.Shift + F3:跳到當(dāng)前關(guān)鍵字上一個(gè)位置

          3.Alt + F3:選中當(dāng)前關(guān)鍵字出現(xiàn)的所有位置

          4.Ctrl + F/H:進(jìn)行標(biāo)準(zhǔn)查找/替換,之后:

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

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

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

          8.Ctrl + Shift + H:替換當(dāng)前關(guān)鍵字

          9.Ctrl + Alt + Enter:替換所有關(guān)鍵字匹配

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


          # 跳轉(zhuǎn)(Jumping)


          1.Ctrl + P:跳轉(zhuǎn)到指定文件,輸入文件名后可以:

          2.@ 符號(hào)跳轉(zhuǎn):輸入 @symbol 跳轉(zhuǎn)到 symbol 符號(hào)所在的位置

          3.# 關(guān)鍵字跳轉(zhuǎn):輸入 #keyword 跳轉(zhuǎn)到 keyword 所在的位置

          4.: 行號(hào)跳轉(zhuǎn):輸入 :12 跳轉(zhuǎn)到文件的第12行。

          5.Ctrl + R:跳轉(zhuǎn)到指定符號(hào)

          6.Ctrl + G:跳轉(zhuǎn)到指定行號(hào)


          # 窗口(Window)


          1.Ctrl + Shift + N:創(chuàng)建一個(gè)新窗口

          2.Ctrl + N:在當(dāng)前窗口創(chuàng)建一個(gè)新標(biāo)簽

          3.Ctrl + W:關(guān)閉當(dāng)前標(biāo)簽,當(dāng)窗口內(nèi)沒有標(biāo)簽時(shí)會(huì)關(guān)閉該窗口

          4.Ctrl + Shift + T:恢復(fù)剛剛關(guān)閉的標(biāo)簽


          # 屏幕(Screen)


          1.F11:切換普通全屏

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

          3.Alt + Shift + 2:進(jìn)行左右分屏

          4.Alt + Shift + 8:進(jìn)行上下分屏

          5.Alt + Shift + 5:進(jìn)行上下左右分屏

          6.分屏之后,使用 Ctrl + 數(shù)字鍵 跳轉(zhuǎn)到指定屏,使用 Ctrl + Shift + 數(shù)字鍵 將當(dāng)前屏移動(dòng)到指定屏

          者:Lucida

          原文鏈接:http://lucida.me/blog/sublime-text-complete-guide

          # 摘要(Abstract)

          本文系統(tǒng)全面的介紹了 Sublime Text,旨在成為最優(yōu)秀的 Sublime Text 中文教程。

          # 更新記錄

          1.2014/09/27:完成初稿

          2.2014/09/28:

          更正打開控制臺(tái)的快捷鍵為 Ctrl + `

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

          3.2016/09/15:作者已全面轉(zhuǎn)向 Visual Studio Code

          # 前言(Prologue)

          Sublime Text 是一款跨平臺(tái)代碼編輯器(Code Editor),從最初的 Sublime Text 1.0,到現(xiàn)在的 Sublime Text 3.0,Sublime Text 從一個(gè)不知名的編輯器演變到現(xiàn)在幾乎是各平臺(tái)首選的 GUI 編輯器。而這樣優(yōu)秀的編輯器卻沒有一個(gè)靠譜的中文教程,所以我試圖通過本文彌補(bǔ)這個(gè)缺陷。

          # 編輯器的選擇(Editor Choices)

          從初學(xué)編程到現(xiàn)在,我用過的編輯器有 EditPlus、UltraEdit、Notepad++、Vim、TextMate 和 Sublime Text,如果讓我從中推薦,我會(huì)毫不猶豫的推薦 Vim 和 Sublime Text,原因有下面幾點(diǎn):

          1.跨平臺(tái):Vim 和 Sublime Text 均為跨平臺(tái)編輯器(在 Linux、OS X 和 Windows 下均可使用)。作為一個(gè)程序員,切換系統(tǒng)是常有的事情,為了減少重復(fù)學(xué)習(xí),使用一個(gè)跨平臺(tái)的編輯器是很有必要的。

          2.可擴(kuò)展:Vim 和 Sublime Text 都是可擴(kuò)展的(Extensible),并包含大量實(shí)用插件,我們可以通過安裝自己領(lǐng)域的插件來成倍提高工作效率。

          3.互補(bǔ):Vim 和 Sublime Text 分別是命令行環(huán)境(CLI)和圖形界面環(huán)境(GUI)下的最佳選擇,同時(shí)使用兩者會(huì)大大提高工作效率。

          # 個(gè)人背景(Personal Background)

          我是一名非常典型的程序員:平時(shí)工作主要在 Linux 環(huán)境下使用 Java 和 Python,偶爾會(huì)用 HTML+CSS+JavaScript 編寫網(wǎng)頁;業(yè)余時(shí)會(huì)在 Windows 環(huán)境編寫一些 C# 程序(包括控制臺(tái)程序(Console Application)和移動(dòng)應(yīng)用(Mobile App),也會(huì)玩一些非主流語言(比如 Haskell,ML 和 Ruby 等)以拓展見識(shí)。

          所以這篇文章會(huì)我的個(gè)人工作內(nèi)容為主要使用場(chǎng)景(Scenario),盡管無法覆蓋到所有的使用場(chǎng)景,但我認(rèn)為依然可以覆蓋到絕大部分,如果您認(rèn)為我遺漏了什么內(nèi)容,請(qǐng)?jiān)谖恼孪旅婊貜?fù),我會(huì)盡量更新。

          # 本文風(fēng)格(Writing Style)

          受益于 K&R C 的寫作風(fēng)格,我傾向于以實(shí)際案例來講解 Sublime Text 的功能,所以本文中的例子均源于我在實(shí)際開發(fā)時(shí)遇到的問題。

          此外,把本文會(huì)使用大量動(dòng)畫(GIF)演示 Sublime Text 的編輯功能,因?yàn)槲野l(fā)現(xiàn)圖片難以演示完整的編輯流程(Workflow),而視頻又過于重量級(jí)。本文的GIF動(dòng)畫均使用 ScreenToGif 進(jìn)行錄制。

          # 編輯器(Editor) vs 集成開發(fā)環(huán)境(Integrated Development Environment,下文簡(jiǎn)稱 IDE)

          我經(jīng)常看到一些程序員拿編輯器和 IDE 進(jìn)行比較,諸如 Vim 比 Eclipse 強(qiáng)大或是 Visual Studio 太慢不如 Notepad++ 好使之類的討論比比皆是,個(gè)人認(rèn)為這些討論沒有意義,因?yàn)榫庉嬈骱?IDE 根本是面向兩種不同使用場(chǎng)景的工具:

          1.編輯器面向無語義的純文本,不涉及領(lǐng)域邏輯,因此速度快體積小,適合編寫單獨(dú)的配置文件和動(dòng)態(tài)語言腳本(Shell、Python 和 Ruby 等)。

          2.IDE 面向有語義的代碼,會(huì)涉及到大量領(lǐng)域邏輯,因此速度偏慢體積龐大,適合編寫靜態(tài)語言項(xiàng)目(Java、C++ 和 C# 等)。

          我認(rèn)為應(yīng)當(dāng)使用正確的工具去做有價(jià)值的事情,并把效率最大化,所以我會(huì)用 Eclipse 編寫 Java 項(xiàng)目,用 Vim 編寫Shell,用 Sublime Text 編寫 JavaScript/HTML/Python,用 Visual Studio 編寫C#。

          前言到此結(jié)束,下面進(jìn)入正題。

          # 安裝(Installation)



          Sublime Text 官方網(wǎng)站 提供了 Sublime Text 各系統(tǒng)各版本的下載,目前Sublime Text 的最新版本是 Sublime Text 3。這里以 Windows 版本的 Sublime Text 安裝為例。

          注意在安裝時(shí)勾選 Add to explorer context menu,這樣在右鍵單擊文件時(shí)就可以直接使用 Sublime Text 打開。

          # 添加 Sublime Text 到環(huán)境變量

          使用 Win + R 運(yùn)行 sysdm.cpl 打開 “系統(tǒng)屬性”。

          然后在 “高級(jí)” 選項(xiàng)卡里選擇 “環(huán)境變量”,編輯 “Path”,增加 Sublime Text 的安裝目錄(例如 D:\Program Files\Sublime Text 3)。

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

          subl file :: 使用 Sublime Text 打開 file 文件
          subl folder :: 使用 Sublime Text 打開 folder 文件夾
          subl . :: 使用 Sublime Text 當(dāng)前文件夾

          # 安裝 Package Control

          前文提到 Sublime Text 支持大量插件,如何找到并管理這些插件就成了一個(gè)問題,Package Control 正是為了解決這個(gè)問題而出現(xiàn)的,利用它我們可以很方便的瀏覽、安裝和卸載 Sublime Text 中的插件。


          # 安裝 Package Control

          前文提到 Sublime Text 支持大量插件,如何找到并管理這些插件就成了一個(gè)問題,Package Control 正是為了解決這個(gè)問題而出現(xiàn)的,利用它我們可以很方便的瀏覽、安裝和卸載 Sublime Text 中的插件。

          進(jìn)入 Package Control 的 官網(wǎng),里面有詳細(xì)的 安裝教程。Package Control 支持 Sublime Text 2 和 3,本文只給出 3 的安裝流程:

          1.使用 Ctrl + ` 打開 Sublime Text 控制臺(tái)。

          2.將下面的代碼粘貼到控制臺(tái)里:


          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 是一個(gè)收費(fèi)閉源軟件,這在一定程度上成為了我支持 Sublime Text 的理由(我心中的軟件靠譜程度:免費(fèi)開源 << 免費(fèi)閉源 < 收費(fèi)開源 < 收費(fèi)閉源):在 這里 購買。

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

          也許不少人會(huì)覺著 Sublime Text 70 刀的價(jià)格太貴,但相比它的功能和帶來的效率提升,70 刀真的不值一提,如果你不方便使用 Paypal 付款可以郵件聯(lián)系我,你支付寶給我打款然后我?guī)湍愀犊睿瑑r(jià)格按當(dāng)日匯率折算(450 元左右)。

          概覽(Tour)

          # 基本概念(Basic Concepts)

          Sublime Text 的界面如下:

          1.標(biāo)簽(Tab):無需介紹。

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

          3.側(cè)欄(Side Bar):包含當(dāng)前打開的文件以及文件夾視圖。

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

          5.命令板(Command Palette):Sublime Text 的操作中心,它使得我們基本可以脫離鼠標(biāo)和菜單欄進(jìn)行操作。

          6.控制臺(tái)(Console):使用 Ctrl + ` 調(diào)出,它既是一個(gè)標(biāo)準(zhǔn)的 Python REPL,也可以直接對(duì) Sublime Text 進(jìn)行配置。

          7.狀態(tài)欄(Status Bar):顯示當(dāng)前行號(hào)、當(dāng)前語言和Tab格式等信息。

          # 配置(Settings)

          與其他 GUI 環(huán)境下的編輯器不同,Sublime Text 并沒有一個(gè)專門的配置界面,與之相反,Sublime Text 使用 JSON 配置文件,例如:

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

          會(huì)將默認(rèn)字體大小調(diào)整為 12,并高亮當(dāng)前行。


          會(huì)將默認(rèn)字體大小調(diào)整為 12,并高亮當(dāng)前行。

          JSON 配置文件的引入簡(jiǎn)化了 Sublime Text 的界面,但也使得配置變的復(fù)雜,一般我會(huì)到 這里 查看可用的 Sublime Text 配置。

          # 編輯(Editing)

          Sublime Text 的編輯十分人性化——它不像 Vim 那樣反人類(盡管我也用 Vim 但我還是要說 Vim 的快捷鍵設(shè)定絕壁連代謝產(chǎn)物都不如),少量的快捷鍵就可以完成絕大多數(shù)編輯任務(wù)。

          # 基本編輯(Basic Editing)

          ↑↓←→ 就是 ↑↓←→,不是 KJHL,(沒錯(cuò)我就是在吐槽 Vim,尼瑪設(shè)成 WSAD 也比這個(gè)強(qiáng)啊),粘貼剪切復(fù)制均和系統(tǒng)一致。

          Ctrl + Enter 在當(dāng)前行下面新增一行然后跳至該行;Ctrl + Shift + Enter 在當(dāng)前行上面增加一行并跳至該行。

          Ctrl + ←/→ 進(jìn)行逐詞移動(dòng),相應(yīng)的,Ctrl + Shift + ←/→ 進(jìn)行逐詞選擇。

          Ctrl + ↑/↓ 移動(dòng)當(dāng)前顯示區(qū)域,Ctrl + Shift + ↑/↓ 移動(dòng)當(dāng)前行。



          # 選擇(Selecting)

          Sublime Text 的一大亮點(diǎn)是支持多重選擇——同時(shí)選擇多個(gè)區(qū)域,然后同時(shí)進(jìn)行編輯。

          Ctrl + D 選擇當(dāng)前光標(biāo)所在的詞并高亮該詞所有出現(xiàn)的位置,再次 Ctrl + D 選擇該詞出現(xiàn)的下一個(gè)位置,在多重選詞的過程中,使用 Ctrl + K 進(jìn)行跳過,使用 Ctrl + U 進(jìn)行回退,使用 Esc 退出多重編輯。

          多重選詞的一大應(yīng)用場(chǎng)景就是重命名——從而使得代碼更加整潔。盡管 Sublime Text 無法像 IDE(例如 Eclipse)那樣進(jìn)行自動(dòng)重命名,但我們可以通過多重選詞+多重編輯進(jìn)行直觀且便捷的重命名:

          有時(shí)我們需要對(duì)一片區(qū)域的所有行進(jìn)行同時(shí)編輯,Ctrl + Shift + L 可以將當(dāng)前選中區(qū)域打散,然后進(jìn)行同時(shí)編輯:

          有打散自然就有合并,Ctrl + J 可以把當(dāng)前選中區(qū)域合并為一行:

          # 查找&替換(Finding&Replacing)

          Sublime Text 提供了強(qiáng)大的查找(和替換)功能,為了提供一個(gè)清晰的介紹,我將 Sublime Text 的查找功能分為 快速查找、標(biāo)準(zhǔn)查找 和 多文件查找 三種類型。

          # 快速查找&替換

          多數(shù)情況下,我們需要查找文中某個(gè)關(guān)鍵字出現(xiàn)的其它位置,這時(shí)并不需要重新將該關(guān)鍵字重新輸入一遍然后搜索,我們只需要使用 Shift + ←/→ 或 Ctrl + D 選中關(guān)鍵字,然后 F3 跳到其下一個(gè)出現(xiàn)位置, Shift + F3 跳到其上一個(gè)出現(xiàn)位置,此外還可以用 Alt + F3 選中其出現(xiàn)的所有位置(之后可以進(jìn)行多重編輯,也就是快速替換)。



          # 標(biāo)準(zhǔn)查找&替換

          另一種常見的使用場(chǎng)景是搜索某個(gè)已知但不在當(dāng)前顯示區(qū)域的關(guān)鍵字,這時(shí)可以使用 Ctrl + F 調(diào)出搜索框進(jìn)行搜索:

          以及使用 Ctrl + H 進(jìn)行替換:



          # 關(guān)鍵字查找&替換

          對(duì)于普通用戶來說,常規(guī)的關(guān)鍵字搜索就可以滿足其需求:在搜索框輸入關(guān)鍵字后 Enter 跳至關(guān)鍵字當(dāng)前光標(biāo)的下一個(gè)位置, Shift + Enter 跳至上一個(gè)位置, Alt + Enter 選中其出現(xiàn)的所有位置(同樣的,接下來可以進(jìn)行快速替換)。

          Sublime Text 的查找有不同的模式:Alt + C 切換大小寫敏感(Case-sensitive)模式, Alt + W 切換整字匹配(Whole matching)模式,除此之外Sublime Text還支持在選中范圍內(nèi)搜索(Search in selection),這個(gè)功能沒有對(duì)應(yīng)的快捷鍵,但可以通過以下配置項(xiàng)自動(dòng)開啟。


          "auto_find_in_selection": true

          這樣之后在選中文本的狀態(tài)下范圍內(nèi)搜索就會(huì)自動(dòng)開啟,配合這個(gè)功能,局部重命名(Local Renaming)變的非常方便:

          使用 Ctrl + H 進(jìn)行標(biāo)準(zhǔn)替換,輸入替換內(nèi)容后,使用 Ctrl + Shift + H 替換當(dāng)前關(guān)鍵字, Ctrl + Alt + Enter 替換所有匹配關(guān)鍵字。

          # 正則表達(dá)式查找&替換

          正則表達(dá)式 是非常強(qiáng)大的文本查找&替換工具,Sublime Text中使用 Alt + R 切換正則匹配模式的開啟/關(guān)閉。Sublime Text的使用Boost里的Perl正則表達(dá)式風(fēng)格。

          出于篇幅原因,本文不會(huì)對(duì)正則表達(dá)式進(jìn)行詳細(xì)介紹,Mastering Regex(中譯本:精通正則表達(dá)式)對(duì)正則表達(dá)式的原理和各語言下的使用進(jìn)行了詳細(xì)介紹。此外網(wǎng)上有大量正則表達(dá)式的優(yōu)秀教程(“正則表達(dá)式30分鐘入門教程” 和 MSDN正則表達(dá)式教程.aspx)),以及在線測(cè)試工具(regexpal 和 regexer)。

          # 多文件搜索&替換

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

          多文件搜索&替換默認(rèn)在當(dāng)前打開的文件和文件夾進(jìn)行搜索/替換,我們也可以指定文件/文件夾進(jìn)行搜索/替換。

          # 跳轉(zhuǎn)(Jumping)

          Sublime Text 提供了強(qiáng)大的跳轉(zhuǎn)功能使得我們可以在不同的文件/方法/函數(shù)中無縫切換。就我的使用經(jīng)驗(yàn)而言,目前還沒有哪一款編輯器可以在這個(gè)方面超越Sublime Text。

          # 跳轉(zhuǎn)到文件

          Ctrl + P 會(huì)列出當(dāng)前打開的文件(或者是當(dāng)前文件夾的文件),輸入文件名然后 Enter 跳轉(zhuǎn)至該文件。

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



          # 跳轉(zhuǎn)到符號(hào)

          盡管是一個(gè)文本編輯器,Sublime Text 能夠?qū)Υa符號(hào)進(jìn)行一定程度的索引。Ctrl + R 會(huì)列出當(dāng)前文件中的符號(hào)(例如類名和函數(shù)名,但無法深入到變量名),輸入符號(hào)名稱 Enter 即可以跳轉(zhuǎn)到該處。

          此外,還可以使用 F12 快速跳轉(zhuǎn)到當(dāng)前光標(biāo)所在符號(hào)的定義處(Jump to Definition)。

          比較有意思的是,對(duì)于 Markdown, Ctrl + R 會(huì)列出其大綱,非常實(shí)用。



          # 跳轉(zhuǎn)到某行

          Ctrl + G 然后輸入行號(hào)以跳轉(zhuǎn)到指定行:

          # 組合跳轉(zhuǎn)

          在 Ctrl + P 匹配到文件后,我們可以進(jìn)行后續(xù)輸入以跳轉(zhuǎn)到更精確的位置:

          1.@ 符號(hào)跳轉(zhuǎn):輸入 @symbol 跳轉(zhuǎn)到 symbol 符號(hào)所在的位置

          2.# 關(guān)鍵字跳轉(zhuǎn):輸入 #keyword 跳轉(zhuǎn)到 keyword 所在的位置

          3.: 行號(hào)跳轉(zhuǎn):輸入 :12 跳轉(zhuǎn)到文件的第12行。

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

          # 中文輸入法的問題

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

          目前官方還沒有修復(fù)這個(gè) bug,解決方法是安裝 IMESupport 插件,之后重啟 Sublime Text 問題就解決了。



          # 文件夾(Folders)

          Sublime Text 支持以文件夾做為單位進(jìn)行編輯,這在編輯一個(gè)文件夾下的代碼時(shí)尤其有用。在 File 下 Open Folder :

          你會(huì)發(fā)現(xiàn)右邊多了一個(gè)側(cè)欄,這個(gè)側(cè)欄列出了當(dāng)前打開的文件和文件夾的文件,使用 Ctrl + K, Ctrl + B 顯示或隱藏側(cè)欄,使用 Ctrl + P 快速跳轉(zhuǎn)到文件夾里的文件。

          # 窗口&標(biāo)簽(Windows & Tabs)

          Sublime Text 是一個(gè)多窗口多標(biāo)簽編輯器:我們既可以開多個(gè)Sublime Text窗口,也可以在一個(gè)Sublime Text窗口內(nèi)開多個(gè)標(biāo)簽。



          # 窗口(Window)

          使用 Ctrl + Shift + N 創(chuàng)建一個(gè)新窗口(該快捷鍵再次和搜狗輸入法快捷鍵沖突,個(gè)人建議禁用所有搜狗輸入法快捷鍵)。

          當(dāng)窗口內(nèi)沒有標(biāo)簽時(shí),使用 Ctrl + W 關(guān)閉該窗口。

          # 標(biāo)簽(Tab)

          使用 Ctrl + N 在當(dāng)前窗口創(chuàng)建一個(gè)新標(biāo)簽, Ctrl + W 關(guān)閉當(dāng)前標(biāo)簽, Ctrl + Shift + T 恢復(fù)剛剛關(guān)閉的標(biāo)簽。

          編輯代碼時(shí)我們經(jīng)常會(huì)開多個(gè)窗口,所以分屏很重要。Alt + Shift + 2 進(jìn)行左右分屏, Alt + Shift + 8 進(jìn)行上下分屏, Alt + Shift + 5 進(jìn)行上下左右分屏(即分為四屏)。

          分屏之后,使用 Ctrl + 數(shù)字鍵 跳轉(zhuǎn)到指定屏,使用 Ctrl + Shift + 數(shù)字鍵 將當(dāng)前屏移動(dòng)到指定屏。例如, Ctrl + 1 會(huì)跳轉(zhuǎn)到1屏,而 Ctrl + Shift + 2 會(huì)將當(dāng)前屏移動(dòng)到2屏。

          # 全屏(Full Screen)

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

          個(gè)人強(qiáng)烈建議在開啟全屏前關(guān)閉菜單欄(Toggle Menu),否則全屏效果會(huì)大打折扣。

          F11 切換普通全屏:

          Shift + F11 切換無干擾全屏:



          # 風(fēng)格(Styles)

          風(fēng)格對(duì)于任何軟件都很重要,對(duì)編輯器也是如此,尤其是GUI環(huán)境下的編輯器。作為一個(gè)程序員,我希望我的編輯器足夠簡(jiǎn)潔且足夠個(gè)性。

          Notepad++ 默認(rèn)界面

          Sublime Text 默認(rèn)界面

          所以在用過 Sublime Text 之后,我立刻就卸掉了 Notepad++。

          Sublime Text 自帶的風(fēng)格是我喜歡的深色風(fēng)格(也可以調(diào)成淺色),默認(rèn)主題是Monokai Bright,這兩者的搭配已經(jīng)很不錯(cuò)了,不過我們還可以做得更好:接下來我將會(huì)展示如何通過設(shè)置偏好項(xiàng)和添加自定義風(fēng)格/主題使得 Sublime Text 更加 Stylish。

          # 一些設(shè)置(Miscellaneous Settings)

          下面是我個(gè)人使用的設(shè)置項(xiàng)。

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

          設(shè)置之后的效果如下:



          # 主題(Themes)

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

          Soda Light

          Soda Dark

          Nexus

          Flatland

          Spacegray Light

          Spacegray Dark



          # 配色(Color)

          colorsublime 包含了大量 Sublime Text 配色方案,并支持在線預(yù)覽,配色方案的安裝教程在 這里,恕不贅述。

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

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

          效果如下:

          # 編碼(Coding)

          優(yōu)秀的編輯器使編碼變的更加容易,所以 Sublime Text 提供了一系列功能以提高開發(fā)效率。



          # 良好實(shí)踐(Good Practices)



          良好的代碼應(yīng)該是規(guī)范的,所以Google為每一門主流語言都設(shè)置了其代碼規(guī)范(Code Style Guideline)。我自己通過下面的設(shè)置使以規(guī)范化自己的代碼。

          // 設(shè)置tab的大小為2
          "tab_size": 2,
          // 使用空格代替tab
          "translate_tabs_to_spaces": true,
          // 添加行寬標(biāo)尺
          "rulers": [80, 100],
          // 顯示空白字符
          "draw_white_space": "all",
          // 保存時(shí)自動(dòng)去除行末空白
          "trim_trailing_white_space_on_save": true,
          // 保存時(shí)自動(dòng)增加文件末尾換行
          "ensure_newline_at_eof_on_save": true,

          # 代碼段(Code Snippets)

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

          你可以通過Package Control安裝第三方代碼段,也可以自己創(chuàng)建代碼段,參考這里。

          # 格式化(Formatting)

          Sublime Text 基本的手動(dòng)格式化操作包括:Ctrl + [ 向左縮進(jìn), Ctrl + ] 向右縮進(jìn),此外 Ctrl + Shift + V 可以以當(dāng)前縮進(jìn)粘貼代碼(非常實(shí)用)。

          除了手動(dòng)格式化,我們也可以通過安裝插件實(shí)現(xiàn)自動(dòng)縮進(jìn)和智能對(duì)齊:

          1.HTMLBeautify:格式化HTML。

          2.AutoPEP8:格式化Python代碼。

          3.Alignment:進(jìn)行智能對(duì)齊。

          # 自動(dòng)完成(Auto Completion)

          Sublime Text 支持一定的自動(dòng)完成,按 Tab 自動(dòng)補(bǔ)全。



          # 括號(hào)(Brackets)

          編寫代碼時(shí)會(huì)碰到大量的括號(hào),利用 Ctrl + M 可以快速的在起始括號(hào)和結(jié)尾括號(hào)間切換, Ctrl + Shift + M 則可以快速選擇括號(hào)間的內(nèi)容,對(duì)于縮進(jìn)型語言(例如Python)則可以使用 Ctrl + Shift + J 。

          此外,我使用 BracketHighlighter 插件以高亮顯示配對(duì)括號(hào)以及當(dāng)前光標(biāo)所在區(qū)域,效果如下:



          # 命令行(Command Line)

          盡管提供了 Python 控制臺(tái),但 Sublime Text 的控制臺(tái)僅支持單行輸入,十分不方便,所以我使用 SublimeREPL 以進(jìn)行一些編碼實(shí)驗(yàn)(Experiments)。



          # 其它(Miscellaneous)

          盡管我試圖在本文包含盡可能多的 Sublime Text 實(shí)用技能,但受限于篇幅和我的個(gè)人經(jīng)驗(yàn),本文仍不免有所遺漏,歡迎在評(píng)論里指出本文的錯(cuò)誤及遺漏。

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

          1.宏(Macro):Sublime Text 支持錄制宏,但我在實(shí)際工作中并未發(fā)現(xiàn)宏有多大用處。

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

          3.項(xiàng)目(Projects):Sublime Text支持簡(jiǎn)單的 項(xiàng)目管理,但我一般只用到文件夾。

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

          5.構(gòu)建(Build):通過配置,Sublime Text可以進(jìn)行 源碼構(gòu)建。

          6.調(diào)試(Debug):通過安裝 插件,Sublime Text 可以對(duì)代碼進(jìn)行調(diào)試。

          # 快捷鍵列表(Shortcuts Cheatsheet)

          我把本文出現(xiàn)的Sublime Text按其類型整理在這里,以便查閱。

          通用(General)

          1.↑↓←→:上下左右移動(dòng)光標(biāo),注意不是不是 KJHL !

          2.Alt:調(diào)出菜單

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

          4.Ctrl + ` :調(diào)出控制臺(tái)

          # 編輯(Editing)

          1.Ctrl + Enter:在當(dāng)前行下面新增一行然后跳至該行

          2.Ctrl + Shift + Enter:在當(dāng)前行上面增加一行并跳至該行

          3.Ctrl + ←/→:進(jìn)行逐詞移動(dòng)

          4.Ctrl + Shift + ←/→進(jìn)行逐詞選擇

          5.Ctrl + ↑/↓移動(dòng)當(dāng)前顯示區(qū)域

          6.Ctrl + Shift + ↑/↓移動(dòng)當(dāng)前行

          #選擇(Selecting)

          1.Ctrl + D:選擇當(dāng)前光標(biāo)所在的詞并高亮該詞所有出現(xiàn)的位置,再次 Ctrl + D 選擇該詞出現(xiàn)的下一個(gè)位置,在多重選詞的過程中,使用 Ctrl + K 進(jìn)行跳過,使用 Ctrl + U 進(jìn)行回退,使用 Esc 退出多重編輯

          2.Ctrl + Shift + L:將當(dāng)前選中區(qū)域打散

          3.Ctrl + J:把當(dāng)前選中區(qū)域合并為一行

          4.Ctrl + M:在起始括號(hào)和結(jié)尾括號(hào)間切換

          5.Ctrl + Shift + M:快速選擇括號(hào)間的內(nèi)容

          6.Ctrl + Shift + J:快速選擇同縮進(jìn)的內(nèi)容

          7.Ctrl + Shift + Space:快速選擇當(dāng)前作用域(Scope)的內(nèi)容

          # 查找&替換(Finding&Replacing)

          1.F3:跳至當(dāng)前關(guān)鍵字下一個(gè)位置

          2.Shift + F3:跳到當(dāng)前關(guān)鍵字上一個(gè)位置

          3.Alt + F3:選中當(dāng)前關(guān)鍵字出現(xiàn)的所有位置

          4.Ctrl + F/H:進(jìn)行標(biāo)準(zhǔn)查找/替換,之后:

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

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

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

          8.Ctrl + Shift + H:替換當(dāng)前關(guān)鍵字

          9.Ctrl + Alt + Enter:替換所有關(guān)鍵字匹配

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

          # 跳轉(zhuǎn)(Jumping)

          1.Ctrl + P:跳轉(zhuǎn)到指定文件,輸入文件名后可以:

          2.@ 符號(hào)跳轉(zhuǎn):輸入 @symbol 跳轉(zhuǎn)到 symbol 符號(hào)所在的位置

          3.# 關(guān)鍵字跳轉(zhuǎn):輸入 #keyword 跳轉(zhuǎn)到 keyword 所在的位置

          4.: 行號(hào)跳轉(zhuǎn):輸入 :12 跳轉(zhuǎn)到文件的第12行。

          5.Ctrl + R:跳轉(zhuǎn)到指定符號(hào)

          6.Ctrl + G:跳轉(zhuǎn)到指定行號(hào)

          # 窗口(Window)

          1.Ctrl + Shift + N:創(chuàng)建一個(gè)新窗口

          2.Ctrl + N:在當(dāng)前窗口創(chuàng)建一個(gè)新標(biāo)簽

          3.Ctrl + W:關(guān)閉當(dāng)前標(biāo)簽,當(dāng)窗口內(nèi)沒有標(biāo)簽時(shí)會(huì)關(guān)閉該窗口

          4.Ctrl + Shift + T:恢復(fù)剛剛關(guān)閉的標(biāo)簽

          # 屏幕(Screen)

          1.F11:切換普通全屏

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

          3.Alt + Shift + 2:進(jìn)行左右分屏

          4.Alt + Shift + 8:進(jìn)行上下分屏

          5.Alt + Shift + 5:進(jìn)行上下左右分屏

          6.分屏之后,使用 Ctrl + 數(shù)字鍵 跳轉(zhuǎn)到指定屏,使用 Ctrl + Shift + 數(shù)字鍵 將當(dāng)前屏移動(dòng)到指定屏

          延伸閱讀(Further Reading)

          # 書籍(Books)

          Mastering Sublime Text:我讀過的唯一一本關(guān)于 Sublime Text 的書籍,書中介紹的插件很實(shí)用,但對(duì)編輯技巧介紹不全。

          Instant Sublime Text Starter:另外一本關(guān)于 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


          主站蜘蛛池模板: 中文字幕一区二区视频| 亚洲爆乳精品无码一区二区| 精品女同一区二区三区免费站| 精品一区二区无码AV| 国产一区在线视频| 国产亚洲欧洲Aⅴ综合一区| 亚洲AV综合色一区二区三区| 日日摸夜夜添一区| 香蕉视频一区二区| 久久精品国产AV一区二区三区| 无码日韩AV一区二区三区| 久久国产三级无码一区二区| 精品一区二区三区在线观看视频 | 久久无码精品一区二区三区| 久久久久人妻精品一区蜜桃| 国精产品一区一区三区有限公司| 中文字幕在线观看一区| 夜夜高潮夜夜爽夜夜爱爱一区| 国产乱码精品一区二区三区中文 | 亚洲一区二区精品视频| 无码人妻精品一区二区蜜桃网站| 亚洲A∨无码一区二区三区| 午夜影院一区二区| 中文字幕无码免费久久9一区9| 国产福利一区二区三区在线视频| 国产精品区一区二区三在线播放| 国产亚洲一区二区三区在线观看| 熟妇人妻一区二区三区四区| 无码人妻一区二区三区免费看| 日本中文字幕一区二区有码在线| 久久久91精品国产一区二区三区 | 国产伦精品一区二区三区女| 狠狠色综合一区二区| 国产成人综合亚洲一区| 国模吧无码一区二区三区| 日本成人一区二区| 久久精品成人一区二区三区| 日韩精品人妻av一区二区三区| 少妇无码AV无码一区| 国产一区二区三区影院| 亚洲Av永久无码精品一区二区|