自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

值得收藏!神級(jí)代碼編輯器 Sublime Text 全程指南

移動(dòng)開(kāi)發(fā)
本文系統(tǒng)全面的介紹了Sublime Text,旨在成為最優(yōu)秀的Sublime Text中文教程。

 摘要(Abstract)

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

前言(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)秀的編輯器卻沒(méi)有一個(gè)靠譜的中文教程,所以我試圖通過(guò)本文彌補(bǔ)這個(gè)缺陷。

編輯器的選擇(Editor Choices)

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

  • 跨平臺(tái):Vim和Sublime Text均為跨平臺(tái)編輯器(在Linux、OS X和Windows下均可使用)。作為一個(gè)程序員,切換系統(tǒng)是常有的事情,為了減少重復(fù)學(xué)習(xí),使用一個(gè)跨平臺(tái)的編輯器是很有必要的。
  • 可擴(kuò)展:Vim和Sublime Text都是可擴(kuò)展的(Extensible),并包含大量實(shí)用插件,我們可以通過(guò)安裝自己領(lǐng)域的插件來(lái)成倍提高工作效率。
  • 互補(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編寫(xiě)網(wǎng)頁(yè);業(yè)余時(shí)會(huì)在Windows環(huán)境編寫(xiě)一些C#程序(包括控制臺(tái)程序(Console Application)和移動(dòng)應(yīng)用(Mobile App),也會(huì)玩一些非主流語(yǔ)言(比如Haskell,ML和Ruby等)以拓展見(jiàn)識(shí)。

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

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

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

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

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

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

  • 編輯器面向無(wú)語(yǔ)義的純文本,不涉及領(lǐng)域邏輯,因此速度快體積小,適合編寫(xiě)單獨(dú)的配置文件和動(dòng)態(tài)語(yǔ)言腳本(Shell、Python和Ruby等)。
  • IDE面向有語(yǔ)義的代碼,會(huì)涉及到大量領(lǐng)域邏輯,因此速度偏慢體積龐大,適合編寫(xiě)靜態(tài)語(yǔ)言項(xiàng)目(Java、C++和C#等)。

我認(rèn)為應(yīng)當(dāng)使用正確的工具去做有價(jià)值的事情,并把效率***化,所以我會(huì)用Eclipse編寫(xiě)Java項(xiàng)目,用Vim編寫(xiě)Shell,用Sublime Text編寫(xiě)JavaScript/HTML/Python,用Visual Studio編寫(xiě)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打開(kāi)。

blob.png

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

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

blob.png

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

blob.png

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

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

安裝Package Control

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

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

  • 使用Ctrl + `打開(kāi)Sublime Text控制臺(tái)。
  • 將下面的代碼粘貼到控制臺(tái)里:
  1. import urllib.request,os,hashlib;
  2.  h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0'
  3. pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path();
  4.  urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) );
  5.  by = urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ''%20')).read(); 
  6. dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s),
  7.  please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by) 
  • 等待Package Control安裝完成。之后使用Ctrl + Shift + P打開(kāi)命令板,輸入PC應(yīng)出現(xiàn)Package Control:

blob.png

成功安裝Package Control之后,我們就可以方便的安裝使用Sublime Text的各種插件:

1.gif

#p#

購(gòu)買(mǎi)(Purchase)

Sublime Text是一個(gè)收費(fèi)閉源軟件,這在一定程度上成為了我支持Sublime Text的理由(我心中的軟件靠譜程度:免費(fèi)開(kāi)源 << 免費(fèi)閉源 < 收費(fèi)開(kāi)源 < 收費(fèi)閉源):在這里購(gòu)買(mǎi)。

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

blob.png

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

blob.png

概覽(Tour)

基本概念(Basic Concepts)

Sublime Text的界面如下:

blob.png

  • 標(biāo)簽(Tab):無(wú)需介紹。
  • 編輯區(qū)(Editing Area):無(wú)需介紹。
  • 側(cè)欄(Side Bar):包含當(dāng)前打開(kāi)的文件以及文件夾視圖。
  • 縮略圖(Minimap):如其名。
  • 命令板(Command Palette):Sublime Text的操作中心,它使得我們基本可以脫離鼠標(biāo)和菜單欄進(jìn)行操作。
  • 控制臺(tái)(Console):使用Ctrl + `調(diào)出,它既是一個(gè)標(biāo)準(zhǔn)的Python REPL,也可以直接對(duì)Sublime Text進(jìn)行配置。
  • 狀態(tài)欄(Status Bar):顯示當(dāng)前行號(hào)、當(dāng)前語(yǔ)言和Tab格式等信息。

配置(Settings)

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

  1.   "font_size"12
  2.   "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但我還是要說(shuō)Vim的快捷鍵設(shè)定絕壁連代謝產(chǎn)物都不如),少量的快捷鍵就可以完成絕大多數(shù)編輯任務(wù)。

基本編輯(Basic Editing)

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

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

2.gif

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

3.gif

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

4.gif

#p#

選擇(Selecting)

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

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

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

5.gif

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

6.gif

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

7.gif

查找&替換(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)行多重編輯,也就是快速替換)。

8.gif

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

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

[[140407]]

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

blob.png

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

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

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

  1. "auto_find_in_selection"true 

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

9.gif

使用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切換正則匹配模式的開(kāi)啟/關(guān)閉。Sublime Text的使用Boost里的Perl正則表達(dá)式風(fēng)格

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

多文件搜索&替換

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

blob.png

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

跳轉(zhuǎn)(Jumping)

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

跳轉(zhuǎn)到文件

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

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

10.gif

#p#

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

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

11.gif

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

blob.png

跳轉(zhuǎn)到某行

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

12.gif

組合跳轉(zhuǎn)

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

  • @ 符號(hào)跳轉(zhuǎn):輸入@symbol跳轉(zhuǎn)到symbol符號(hào)所在的位置
  • # 關(guān)鍵字跳轉(zhuǎn):輸入#keyword跳轉(zhuǎn)到keyword所在的位置
  • : 行號(hào)跳轉(zhuǎn):輸入:12跳轉(zhuǎn)到文件的第12行。

13.gif

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

中文輸入法的問(wèn)題

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

blob.png

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

blob.png

#p#

文件夾(Folders)

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

blob.png

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

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

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

窗口(Window)

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

當(dāng)窗口內(nèi)沒(mé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ì)開(kāi)多個(gè)窗口,所以分屏很重要。Alt + Shift + 2進(jìn)行左右分屏,Alt + Shift + 8進(jìn)行上下分屏,Alt + Shift + 5進(jìn)行上下左右分屏(即分為四屏)。

14.gif

分屏之后,使用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有兩種全屏模式:普通全屏和無(wú)干擾全屏。

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

F11切換普通全屏:

blob.png

Shift + F11切換無(wú)干擾全屏:

blob.png

風(fēng)格(Styles)

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

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

blob.png

Sublime Text默認(rèn)界面

blob.png

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

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

#p#

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

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

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

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

設(shè)置效果

主題(Themes)

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

Soda Light

blob.png

Soda Dark

blob.png

Nexus

blob.png

Flatland

blob.png

blob.png

blob.png

Spacegray Light

blob.png

Spacegray Dark

blob.png

#p#

配色(Color)

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

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

  1. "theme""Nexus.sublime-theme"
  2. "color_scheme""Packages/Theme - Flatland/Flatland Dark.tmTheme"

效果如下:

blob.png

編碼(Coding)

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

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

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

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

代碼段(Code Snippets)

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

15.gif

你可以通過(guò)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)格式化,我們也可以通過(guò)安裝插件實(shí)現(xiàn)自動(dòng)縮進(jìn)和智能對(duì)齊:

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

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

blob.png

括號(hào)(Brackets)

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

16.gif

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

17.gif

#p#

命令行(Command Line)

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

18.gif

其它(Miscellaneous)

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

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

  • 宏(Macro):Sublime Text支持錄制宏,但我在實(shí)際工作中并未發(fā)現(xiàn)宏有多大用處。
  • 其它平臺(tái)(Other Platforms):本文只介紹了Windows平臺(tái)上Sublime Text的使用,不過(guò)Linux和OS X上Sublime Text的使用方式和Windows差別不大,只是在快捷鍵上有所差異,請(qǐng)參考Windows/Linux快捷鍵OS X快捷鍵
  • 項(xiàng)目(Projects):Sublime Text支持簡(jiǎn)單的項(xiàng)目管理,但我一般只用到文件夾。
  • Vim模式(Vintage):Sublime Text自帶Vim模式。
  • 構(gòu)建(Build):通過(guò)配置,Sublime Text可以進(jìn)行源碼構(gòu)建。
  • 調(diào)試(Debug):通過(guò)安裝插件,Sublime Text可以對(duì)代碼進(jìn)行調(diào)試。

快捷鍵列表(Shortcuts Cheatsheet)

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

通用(General)

  • ↑↓←→:上下左右移動(dòng)光標(biāo),注意不是不是KJHL!
  • Alt:調(diào)出菜單
  • Ctrl + Shift + P:調(diào)出命令板(Command Palette)
  • Ctrl + `:調(diào)出控制臺(tái)

編輯(Editing)

  • Ctrl + Enter:在當(dāng)前行下面新增一行然后跳至該行
  • Ctrl + Shift + Enter:在當(dāng)前行上面增加一行并跳至該行
  • Ctrl + ←/→:進(jìn)行逐詞移動(dòng)
  • Ctrl + Shift + ←/→進(jìn)行逐詞選擇
  • Ctrl + ↑/↓移動(dòng)當(dāng)前顯示區(qū)域
  • Ctrl + Shift + ↑/↓移動(dòng)當(dāng)前行

選擇(Selecting)

  • Ctrl + D:選擇當(dāng)前光標(biāo)所在的詞并高亮該詞所有出現(xiàn)的位置,再次Ctrl + D選擇該詞出現(xiàn)的下一個(gè)位置,在多重選詞的過(guò)程中,使用Ctrl + K進(jìn)行跳過(guò),使用Ctrl + U進(jìn)行回退,使用Esc退出多重編輯
  • Ctrl + Shift + L:將當(dāng)前選中區(qū)域打散
  • Ctrl + J:把當(dāng)前選中區(qū)域合并為一行
  • Ctrl + M:在起始括號(hào)和結(jié)尾括號(hào)間切換
  • Ctrl + Shift + M:快速選擇括號(hào)間的內(nèi)容
  • Ctrl + Shift + J:快速選擇同縮進(jìn)的內(nèi)容
  • Ctrl + Shift + Space:快速選擇當(dāng)前作用域(Scope)的內(nèi)容

查找&替換(Finding&Replacing)

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

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

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

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

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

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

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

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

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

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

跳轉(zhuǎn)(Jumping)

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

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

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

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

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

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

窗口(Window)

  • Ctrl + Shift + N:創(chuàng)建一個(gè)新窗口
  • Ctrl + N:在當(dāng)前窗口創(chuàng)建一個(gè)新標(biāo)簽
  • Ctrl + W:關(guān)閉當(dāng)前標(biāo)簽,當(dāng)窗口內(nèi)沒(méi)有標(biāo)簽時(shí)會(huì)關(guān)閉該窗口
  • Ctrl + Shift + T:恢復(fù)剛剛關(guān)閉的標(biāo)簽

屏幕(Screen)

  • F11:切換普通全屏
  • Shift + F11:切換無(wú)干擾全屏
  • 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)到指定屏

延伸閱讀(Further Reading)

書(shū)籍(Books)

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

  • Instant Sublime Text Starter:另外一本關(guān)于Sublime Text的書(shū),我沒(méi)有讀過(guò)。

鏈接(Links)

視頻(Videos)

以上。

 
 

 

責(zé)任編輯:倪明 來(lái)源: Lucida's blog
相關(guān)推薦

2011-01-10 16:17:49

2020-10-14 14:00:39

VIM編輯器

2020-04-23 16:04:25

代碼編輯器工具程序員

2010-03-15 08:48:38

Python編輯器

2010-04-06 14:45:46

vi編輯器

2021-10-27 14:55:57

Mark TextMarkdown編輯器

2009-06-11 10:03:57

NetBeans代碼

2016-09-30 10:16:39

sublimeswift

2022-06-16 10:14:51

LinuxEmacs編輯器

2022-05-25 10:57:20

文本編輯器Linux應(yīng)用程序

2017-03-09 19:25:38

JavaScript代碼編輯器

2024-08-14 08:33:46

前端編輯器

2010-03-24 09:20:07

CentOS vi編輯

2020-04-17 09:00:00

CSS編輯器前端

2011-10-31 10:17:05

插件

2020-07-15 15:12:17

Python代碼編輯器編程語(yǔ)言

2024-02-21 16:40:06

Web代碼編輯器開(kāi)源

2011-09-19 11:39:31

Android手機(jī)Touchqode

2015-02-12 09:51:24

代碼編輯

2021-03-10 09:15:15

代碼文本編輯器編程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)