剛工作的時候,項目組都用UltraEdit,我也隨大流。我使用UltraEdit(UE)工作的時間僅有2個月,
我對UE的印象一直是不親切,功能齊全常用的卻不多,一些功能與配置在菜單和介面中的位置與我期望
的不一樣,沒有舒適的色彩配置等等。
後來用Notepad++ , 大概半年左右。Notepad++功能相對較簡單,介面比UE簡潔,快速鍵用的比較熟
練,搭配上多view功能和nppFtp外掛程式,工作效率提高了不少。
2012年11月到現在一直用Sublime text 2,用過感受就是很舒服、很方便、真奇特。功能豐富而且
易用性高:配置sublime快速鍵的方式,極其方便的command palette,強大的檔案與內容模糊等等,本文
的主要目的是從易用性等幾個方面分享我使用Sublime text 2 時的一些感受和經驗,希望它能引起你對Sublime
的興趣。關於Sublime的教程及詳細介紹,網上有很多,參見本文結尾處的References。
對於各文字編輯器的觀點很可能與我的使用熟練程度與特定工作(主要是在項目中開發C++,Python)
相關,不具普遍性,哪個編輯器真正適合你還是需要自己親身嘗試。
1.學習成本低-功能簡潔-很快上手-易用性高
Sublime 最大的特點就是把大多數功能做的又簡潔又簡單,易用性很高,不像笨重的UltraEdit。一般
的文字編輯器如UltraEdit, Notepad++, Sublime的部分相同功能的預設快速鍵也相同,為在不同的編輯器之
間切換提供便利。
而且Sublime提供了一些操作方式和功能,如方便的Key bindings,Command Palette,Goto anything 更
能提高工作的效率:縮短了移動游標的距離,滑鼠點選功能項、菜單的次數,減少了重複工作,少了點煩
心。在這方面,Sublime與喬布斯的設計哲學真有些相似(但是Sublime的作者曾經只在Google工作過)。
2.跨平台
有了Sublime,對於我這種同時用mac,windows,ubuntu的人是很大的幸福,不必學習使用多個text editor,
不必在多個text editor之間切換。
Sublime支援Mac OS X,windows 32/64bit , Linux 32/64 bit
3. 簡潔的find and replace
Sublime的尋找替換功能沒有複雜的勾選,出現在編輯器底部邊緣的位置,不會妨礙需要瀏覽的內容。
4. Command Palette 命令選擇區
Sublime提供了方便的命令調用方式,選擇Tool->Command Palette,或者按快速鍵ctrl + shift + P 調出
Command Palette ,只要簡單地輸入命令名稱中包含的的幾個字母就可以立即尋找到可能匹配的命令,按下
斷行符號直接執行,省去了在菜單中依次尋找的麻煩。Command Palette可匹配的結果包括:菜單中常用的命
令、設定開啟的文本按哪種程式設計語言進行文法高亮,snippets等。
5. Goto Anything and Fuzzy Search 檔案尋找和模糊比對
快速鍵 Ctrl + p 或者 Goto-> Goto Anything,出現一個簡潔的輸入文本地區。這個功能讓你能夠迅速
尋找已開啟的檔案和已開啟的目錄中的檔案,並在這些檔案之間迅速切換。輸入檔案名稱中包含的字母,迅
速得到可能的匹配。非常喜歡sublime提供的僅僅鍵入幾個字母即可得到想要的結果的模糊比對功能。
還可以在這些檔案中尋找特定的文本,例如:
調出Goto Anything 後,輸入island#treasure 來尋找檔案名稱匹配island的檔案中的treasure。
(例子來源:Sublime Text Unofficial Documentation)
類似的功能還有:
(1)Goto Symbol ctrl + R 快速定位到函數
(2)Goto Line ctrl + G 快速定位到行
6.實用的多重選取
提供多種多重選取方式:
按住ctrl ,用滑鼠左鍵點擊要選擇的文本位置,出現多個游標,可在同行、跨行多重選取。
再ctrl + L 可選中這些行。
按住shift,點擊滑鼠右鍵可以類似notepad++中列模式的方式多重選取文本。
按住shift + alt 點擊滑鼠右鍵,可在多選中去除某個選擇。
7. 多種布局方式
你可以將編輯視窗拆分為兩列,三列,四列 或者兩行,三行再或者四格模式,方便查看和編輯檔案。
8. 針對程式設計語言提示編輯錯誤
以顏色高亮的方式提示一些編程語法錯誤。如C++定義Class時忘記加末尾分號,忘記刪除尾部注釋
符號’*/’等。
9. Key Bindings
Sublime把preferences , key bindings , macro都做成了json格式的設定檔,相對於複雜的介面來講,
更容易實現尋找和簡單的配置。但是還不清楚這是sublime的設計思想,還是它未來可能會改成介面。
例如key bindings 的配置,允許你DIY操作與快速鍵的映射關係。
快速鍵的映射關係儲存在.sublime-keymap檔案中,可通過Preferences->Key Bindings-Default開啟此檔案,
以下是.sublime-keymap中的部分內容:
[ { "keys": ["ctrl+shift+n"], "command": "new_window" }, { "keys": ["ctrl+shift+w"], "command": "close_window" }, { "keys": ["ctrl+left"], "command": "move", "args": {"by": "words", "forward": false} }, { "keys": ["escape"], "command": "hide_auto_complete", "context": [ { "key": "auto_complete_visible", "operator": "equal", "operand": true } ] }, ]
“keys”的值為快速鍵組合,”command”的值為要執行的命令。更加複雜的還包括待輸入的參數
”args”以及命令的上下文資訊”context”。
10. package control
Sublime有極好的擴充能力,使用Python作為擴充語言,想要更好地利用它的擴充能力,應該使用
Package Control。Package Control 的目的是協助sublime使用者簡化安裝、管理外掛程式的過程,它能與sublime
完美結合,是sublime的必備神器,你仍然可以像操作command palette 那樣操作package control.
Package control的安裝方法及使用方法見:
http://wbond.net/sublime_packages/package_control
常用快速鍵(windows/Linux)
1. ctrl+方向鍵 按單詞移動
2. ctrl+shift + 方向鍵 按單詞選取
3. ctrl + F3 尋找選定的或游標所在單詞
4. F3 尋找特定的單詞(一般尋找的流程是先ctrl+F3,再F3)
5. ctrl + shift + p 開啟Command Palette
6. ctrl + R 定位檔案中出現的符號
7. ctrl + G 定位行
8. Ctrl + p Goto anything
9. ctrl + shift + d 複製游標所在的行
10. ctrl + shift + k 刪除游標所在的行
11. Shift + alt + 2 拆分視窗成兩列
12. Shift + alt + 8 拆分視窗成兩行
常用快速鍵(mac)
關於mac的常用快速鍵可參考:https://gist.github.com/1207002
Sublime text 2 必備外掛程式
(1)ConvertToUTF8
Sublime 只支援utf8編碼,該外掛程式可以協助處理 GBK, BIG5, EUC-KR, EUC-JP, SHIFT_JIS 等
編碼的檔案
(2) Sftp ftp工具,類似notepad++的nppftp外掛程式
(3) Sidebar enhancements 側邊欄功能增強外掛程式,提供很多實用的檔案操作。
Sublime的問題
sublime也是有各種問題的,當然並不是指它是收費的,畢竟目前可以完全免費使用,只是偶爾會提示
購買而已。即使真正收費了,這也是一個值得購買的好軟體,並不影響它的出色表現。
真正的問題是在Linux中sublime無法輸入中文,解決方案繁瑣。
Sublime其他資料
(1)lucifr的部落格中有關於sublime text 2 的優質內容 http://lucifr.com/tags/sublime-text/
(2)各種外掛程式 https://sublime.wbond.net/
Reference:
1.Sublime Text 2 documentation index
http://www.sublimetext.com/docs/2/
2. Sublime Text Unofficial Documentation
http://docs.sublimetext.info/en/latest/index.html
3.Perfect Workflow in Sublime Text 2 : Sublime Text 2 的視頻教程
https://tutsplus.com/course/improve-workflow-in-sublime-text-2/
4.Sublime Text 2 - Useful Shortcuts (Mac OS X):
https://gist.github.com/1207002
5.Sublime Text 2 - Useful Shortcuts (windows/Linux):
https://gist.github.com/4441629
6.Keyboard Shortcuts - Windows/Linux:
http://docs.sublimetext.info/en/latest/reference/keyboard_shortcuts_win.html
7.Sublime Text 2 Tips and Shortcuts:
http://robdodson.me/blog/2012/06/23/sublime-text-2-tips-and-shortcuts/
8.Sublime Text 2 Tips and Tricks:
http://net.tutsplus.com/tutorials/tools-and-tips/sublime-text-2-tips-and-tricks/
9.Sublime Text 2 Tips and Tricks中譯版:
http://lucifr.com/2011/08/31/sublime-text-2-tricks-and-tips/
轉載本文請註明作者和出處[Gary的影響力]http://garyelephant.me,請勿用於任何商業用途!
Author: Gary Gao( garygaowork[at]gmail.com) 關注互連網、分布式、高效能、NoSQL、自動化、軟體團隊