Sublime Text 2 入門及技巧


看了 Nettuts+ 對 Sublime Text 2 的介紹,立刻就興奮了,誠如作者 Jeffrey Way 所說:“《永遠的毀滅公爵》都發布了,TextMate 2 還沒發”,你還能指望它麼?TextMate 開發者的消極態度已經無法讓人忍受了。而作爲一款跨 OS X、Linux 和 Windows 三大系統平臺的文字編輯器,Sublime Text 2 功能日進,大有取 TextMate 而代之的勢頭,

以下就將 Nettuts+ 的這篇文章做一粗略翻譯,固然不是面面俱到,用做入門卻是足夠了。以下均是以 Mac 版本爲主,但對 Windows 和 Linux 版來說也是相通的。

內容列表
換個耐看點些的圖標
嘗試開發版本
快捷的命令面板
即時的文件切換
隨心所欲的跳轉
多重選擇(Multi-Selection)
縮進指示(Indent Guide)
安裝包控制(Package Control)
對齊
Vim 模式
無干擾模式(Distraction Free Mode)
TextMate Bundle
主題
命令行工具
總結

換個耐看點些的圖標

更新:更多可用替換圖標

Sublime Text 2 目前還處於測試階段,默認的黑方塊圖標看起來實在不夠養眼,Nate Beaty 製作了一個不錯的替代品

Mac 下的替換方法:

  • 在 應用程序 目錄中找到 Sublime Text 2,按住 Ctrl 並點擊之,在彈出的菜單中選擇“顯示包內容”。
  • 進入 Contents/Resources/ 目錄,用新下載的圖標替換 Sublime Text 2.icns

嘗試開發版本

Sublime Text 2 目前更新十分活躍,如果想要嘗試最新的功能,建議下載並安裝 dev 版本。

下載 Sublime Text 2 Dev 版

快捷的命令面板

和 TextMate 類似,Sublime Text 2 也提供了很方便的命令調用方式:Command Palette(命令面板)。調用方法:直接在 Tool 菜單中選擇 Command Palette,或是用快捷鍵:Shift + Command + P,輸入命令名稱(中的字母)就可以實時搜索到相應的命令、選項、snippet 和 syntex, 按下回車就可以直接執行,減少了查找的麻煩。

即時的文件切換

按下 Command + P(Mac) 或是 Ctrl + P(Windows),輸入想要切換到的文件的文件名,都不用按下回車鍵,目標文件就已經展現在眼前了,雖然 Vim 配合 PeepOpen 也可以實現同樣的功能,但速度卻遠沒有這麼迅速。

隨心所欲的跳轉

Cmd+P 之所以被叫做 Goto Anything 並不是虛名:

  • 用 Command+P 可以快速跳轉到當前項目中的任意文件,可進行關鍵詞匹配。
  • 用 Command+P 後 @ (或是Command+R)可以快速列出/跳轉到某個函數(很爽的是在 markdown 當中是匹配到標題,而且還是帶縮進的!)。
  • 用 Command+P 後 # 可以在當前文件中進行搜索。
  • 用 Command+P 後 : (或是Ctrl+G)加上數字可以跳轉到相應的行。
  • 而更酷的是你可以用 Command+P 加上一些關鍵詞跳轉到某個文件同時加上 @ 來列出/跳轉到目標文件中的某個函數,或是同時加上 # 來在目標文件中進行搜索,或是同時加上 : 和數字來跳轉到目標文件中相應的行。

多重選擇(Multi-Selection)

多重選擇功能允許在頁面中同時存在多個光標,讓很多本來需要正則表達式、高級搜索和替換才能完成的任務也變得遊刃有餘了。看看 Nettut+ 提供的實例可能更爲直觀一些:

激活多重選擇的方法有幾種:

  • 按住 Command 或 Alt,然後在頁面中希望中現光標的位置點擊。
  • 選擇數行文本,然後按下 Shift + Command + L
  • 通過反覆按下 Control/Command + D 即可將全文中與光標當前所在位置的詞相同的詞逐一加入選擇,而直接按下 Alt+F3(Windows) 或是 Ctrl+Command+G(Mac) 即可一次性選擇所有相同的詞。
  • 按下鼠標中鍵來進行垂直方向的縱列選擇,也可以進入多重編輯狀態。

縮進指示(Indent Guide)

更新:縮進指示已經被集成進 Sublime Text 2 中,不需要安裝插件了。

縮進指示這個小功能可以讓代碼的層級關係更加清晰,在 Sublime Text 2 中,可以通過一個插件來實現這個功能。

安裝方法:

  • 下載 IndentGuides 插件。
  • 解壓後,將文件夾重命名爲 Indent Guides,並放入 Packages 目錄中。找到 Packages 目錄的簡單方法是在 Sublime Text 2 的 Preferences 菜單中選擇 Browse Packages
  • 重啓 Sublime Text 2

安裝包控制(Package Control)

上一條中的安裝插件的方法是不是很麻煩呢?其實和 TextMate 可安裝 Bundle、Plugin 一樣,Sublime Text 2 也擁有良好的擴展功能,這就是安裝包(Package);同樣,就像 TextMate 有用來安裝、升級、卸載 Bundle 的 GetBundles 一樣,Sublime Text 2 也有其用來進行 Package 控制的插件:Sublime Package Control。通過 Sublime Package Control,安裝、升級和卸載 Package 也變得輕鬆寫意了。

安裝 Package Control 的方法:

更新(2013-08-17):更新了針對 Sublime Text 2 和 Sublime Text 3 的安裝代碼。

  • 打開 Sublime Text 2,按下 Control + ` 調出 Console
  • 將以下代碼粘貼進命令行中並回車:

    import urllib2,os; pf='Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler( ))); open( os.path.join( ipp, pf), 'wb' ).write( urllib2.urlopen( 'http://sublime.wbond.net/' +pf.replace( ' ','%20' )).read()); print( 'Please restart Sublime Text to finish installation')
    
  • Sublime Text 3 請使用以下代碼:

      import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())
    

  • 重啓 Sublime Text 2,如果在 Preferences -> Package Settings中見到Package Control這一項,就說明安裝成功了。

使用 Package Control 安裝 Package 的方法將在後面用到的地方詳述。

對齊

對於某些喜歡整齊的碼農來說,看到下面這種情況可能是讓其無法忍受的:

var joe = 'joe';
var johnny = 'johnny';
var quaid = 'quaid';

一定要改成這樣纔會安心:

var joe    = 'joe';
var johnny = 'johnny';
var quaid  = 'quaid';

TextMate 裏也有這樣的功能(Option + Command + ])可以自動實現以上的對齊過程,而在 Sublime Text 2 之中,一個 Sublime Alignment 插件也可以輕鬆實現。

以下就通過 Package Control 來安裝這個插件:

  1. 按下 Shift + Command + P 調出命令面板。

  2. 輸入 install 調出 Package Control: Install Package 選項,按下回車。

  3. 在列表中找到 Alignment,按下回車進行安裝。

  4. 重啓 Sublime Text 2 使之生效。現在通過選中文本並按下 Shift + Command + A Ctrl + Command + A 就可以進行對齊操作了。

通過這個方法就可以簡便的安裝更多的插件,雖然目前的安裝源中插件並不是很多,但相信以後會更加豐富的。

Vim 模式

是的,Sublime Text 2 dev 版已經支持 Vim 的編輯模式了,如果更喜歡 Vim 的編輯模式,可以通過以下方法來激活 Vintage mode:

  1. 按下 Shift + Command + P 調出命令面板。

  2. 輸入 settings user 調出 Preferences:Settings - User,並按下回車。

    以上兩步也可以直接用cmd + ,完成。

  3. 這時會打開一個 Preferences.sublime-settings 的文件,如果是第一次修改,它應該是個空文件,把以下文本粘貼進去:

    {
        "ignored_packages": []
    }
    
  4. 保存這個文件,這時按下 ESC 鍵,再按下一些你熟悉的 Vim 命令,是不是很有親切感?

無干擾模式(Distraction Free Mode)

現在的編輯器如果沒有一個無干擾模式似乎都說不過去了,在 Sublime Text 2 中,只要按下Control + Shift + Command + F 或是在菜單 View 中選擇 Enter Distraction Free Mode 就可以進入這個 UI 最小化模式了。如果是在用 Mac OS X Lion 的話,Sublime Text 2 還同時支持 Lion 的原生全屏模式。

通過修改 “Preferences” -> “File Settings - More” -> “Distraction Free - User” 可以對防干擾模式進行一些設置:

{
    "line_numbers": false,      //是否顯示行號
    "gutter": false,            //是否顯示邊列
    "draw_centered": true,      //是否居中顯示
    "wrap_width": 80,           //換行寬度(單位:字符)
    "word_wrap": true,          //是否自動換行
    "scroll_past_end": true     //滾動能否超過結尾
}

TextMate Bundle

Sublime Text 2 很給力的一點就是它同時支持一些 TextMate 的 Bundle。

Sublime Text 2 對於 TextMate Bundle 中的 Snippet 有着良好的原生支持,把 Bundle 放到 Packages 目錄裏就能用。但對 Bundle 中的 command 並不支持,此外,TextMate 的色彩主題 [1] 也是可以放到 Packages 目錄裏直接用的。估計隨着 Sublime Text 2 越來越火,會有更多 TextMate 的 Bundle 被移植過來。

主題

這裏所講的主題不同於針對代碼的 Color Scheme,是指針對 Sublime 程序本身的主題,目前可以安裝的是 Ian Hill 的 Soda

因爲源中已經添加,所以這款主題的安裝同樣可以通過 Package Control,非常方便。目前 Soda 主題提供了明暗兩種風格。

激活方法,同樣要修改 Preferences:Settings - User:

  1. 按下 Shift + Command + P 調出命令面板。

  2. 輸入 user settings 調出 Preferences:Settings - User,並按下回車。

  3. 添加以下代碼激活 Soda Light 主題:

    {
        "theme": "Soda Light.sublime-theme"
    }
    

    添加以下代碼激活 Soda Dark 主題:

    {
        "theme": "Soda Dark.sublime-theme"
    }
    
  4. 保存生效。

命令行工具

和 TextMate 和 MacVim 一樣,Sublime Text 2 也提供了很方便的命令行工具以方便通過終端來快速的調用 Sublime Text 2 程序來打開文件/目錄/項目等。

要使用命令行工具,你需要創建一個符號鏈接,在終端(Terminal.app)中運行:

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl

然後運行 subl --help 可以查看 subl 命令的使用方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
使用: subl [參數] [文件] 編輯指定文件
或: subl [參數] [目錄] 打開指定目錄
或: subl [參數] - 編輯 stdin

可用參數:
--project <項目>: 讀取指定項目
--command <命令>: 運行指定命令
-n --new-window: 打開新窗口
-a --add: 向當前窗口中添加文件夾
-w --wait: 等待文件關閉後再返回
-b --background: 不激活程序窗口
-s --stay: 關閉文件後保持程序窗口激活
-h --help: 顯示此幫助
-v --version: 顯示版本號

讀取 stdin 時會使用 --wait 參數。通過 --stay 可以在文件關閉後不返回終端(僅針對單個文件)。

可以通過向文件名添加 `:行號` `:行號:列號` 後綴來打開到更具體的位置。

總結

在試用 Sublime Text 2 的過程中,“”和“”是給 Lucifr 最強烈的感受,就如同 Chrome 瀏覽器一樣,Sublime 的各種操作都給人以很流暢的感受。良好的中文支持也是 TextMate 所不具備的,雖然以目前的插件數量和質量還不能完全替代 TextMate,但還是讓人十分期待的。唯一讓人糾結的是價格,$59 的註冊價確實不便宜(明顯是照着 TextMate 的 $58 加一塊定的嘛),好在目前測試階段還可以無限試用。


原文轉自:http://lucifr.com/2011/08/31/sublime-text-2-tricks-and-tips/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章