一名合格的程序員在我看來至少需要三樣東西:
(我還不合格:P)
-
一個稱手的鍵盤
-
一個舒適的屏幕
-
一個好用的編輯器
-
-
這篇隨筆就是對Sublime Text 2 這個編輯器我一個月來的使用總結,方便自己以後翻閱,也免了自己再去海量的網絡文章中找尋。這篇並不是ST2的介紹。
-
Sublime Text 2 配置
-
官方文檔在此
-
安裝Package Control
-
Ctrl +` 調出命令行,輸入下面這段神奇的命令
-
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'
-
-
通過Package Control 安裝插件
-
按Ctrl + Shift +p 打開命令面板 輸入 pci(package control : Install的縮寫),回車
-
ConverToUTF8 中文支持
-
CTags 代碼的navigation to definition (即VS中的 goto definition)
-
安裝CTags之前需要先到 http://ctags.sourceforge.net/ (牆)去下載Ctags,解壓後在環境變量PATH中添加路徑:
-
如 F:\Program Files\Sublime Text 2\ctags58
-
在左側邊欄右擊工程,選擇Ctags :Rebuild Tags,然後當光標停留在函數名上時,右擊選擇Navigate To Definition,就會跳到相關定義。
-
CTags快捷鍵:
-
-
更多信息,參看https://github.com/SublimeText/CTags
-
SideBarEnhancements 邊欄命令增強,右擊邊欄後多了一些命令
-
Theme Soda
一個界面配置主題(不是代碼配色方案) -
啓用主題需要在 Preferences -> Settings – User 中添加
-
"theme": "Soda Dark.sublime-theme"
-
或
-
"theme": "Soda Light.sublime-theme"
-
-
C++編譯配置(後文介紹MinGW G++的安裝)
-
Tools –> Build System –> New Build System… 在給出的空文件中粘貼後保存
-
{ //"cmd": ["g++","${file}","-std=c++11" ,"-o", "${file_path}/${file_base_name}" ,"-I","F:/MinGW/boost_1_50_0"], "cmd": ["make"], "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", "working_dir": "${file_path}", "selector": "source.c, source.c++", "variants": [ { "name": "Run", "cmd": ["${file_path}/${file_base_name}"] } ] }
- 注意註釋掉的一行cmd,該行用g++直接編譯當前文件。逗號隔開的字符串,相當於在命令行輸入命令時用空格隔開,請根據自己的編譯要求修改。
- 第二行是使用make命令進行編譯(需要自己在當前文件的所在目錄下有 makefile 或Makefile)
- 二者只能取其一。
- Ctrl+B 編譯,Ctrl+Shift+B運行。
- 文件默認保存在 Preference –> Browse Packages… 中的User目錄下
- 如:C:\Users\ZhengLi\AppData\Roaming\Sublime Text 2\Packages\User
- 文件名:Z++.sublime-build(後綴固定)
- 也可以打開該目錄後,打開C++目錄找到C++.sublime-build 直接修改(不建議)。
Sublime Text 2 常用快捷鍵
-
Vim的快捷鍵
- 在用戶設置文件中加入
"ignored_packages": []
- 按ESC後就可以進入Vim 模式,把ST2當Vim來用吧
-
ST2常用快捷鍵
Tab 縮進
Shift+Tab 去除縮進
Ctrl+Enter 插入行後
Ctrl+Shift+Enter 插入行前
Ctrl+Shift+UP 與上行互換
Ctrl+Shift+DOWN 與下行互換
Ctrl+Shift+V 粘貼並自動縮進(無需擔心代碼格式問題了,建議拋棄Ctrl+V)
Ctrl+/ 行註釋
Ctrl+Shift+/ 塊註釋
Ctrl+M 跳到光標匹配位置(匹配位置會有下劃線,一般爲括號)
Ctrl+Shift+M 選擇括號內的內容(繼續按則繼續選擇父括號)
Ctrl+J 合併選擇的多行
Ctrl+L 選擇整行(繼續按則選擇下行)
Ctrl+K,Ctrl+K 從光標處刪除至行尾
Ctrl+K,Ctrl+Backspace 從光標處刪除至行首
Ctrl+Shift+K 刪除整行
Ctrl+Shift+D 複製光標所在整行,插入在該行之前 -
多行改:
Ctrl+D 選中光標所在處詞(繼續按就向下繼續選相同詞)
Alt+F3 選中與光標處相同的全部詞
按住Ctrl左鍵選擇代碼,可選不連續代碼
按住Shift右鍵(或者僅按鼠標中鍵)框選代碼,可選矩形區代碼
Ctrl+Shift+L 同時編輯所選行Ctrl+K,Ctrl+U 改爲大寫
Ctrl+K,Ctrl+L 改爲小寫Ctrl+Shift+[ 摺疊代碼
Ctrl+Shift+] 展開代碼Ctrl+P 跳轉面板
Ctrl+Shift+P 控制面板
Ctrl+G 跳到行(Ctrl + P , : )
Ctrl+R 調到標識符(Ctrl+P , @ )@ : 可以在跳轉面板混用 如 test.cpp@main,跳到test.cpp文件的main函數
F11
Shift+F11 兩種全屏模式,可以用控制面板控制顯示哪些view
MinGW G++ 安裝
安裝,配置環境變量都沒什麼好說的,官網http://www.mingw.org/
安裝有個關鍵命令在這個頁面http://www.mingw.org/wiki/Getting_Started
其實就一句:
mingw-get install g++
這是因爲我安裝完之後發現沒有給我裝g++(貌似是當初我沒有在安裝程序中勾選該項?)
請注意:必須用英文版g++,否則無法在Sublime Text2的編譯結果窗口中顯示中文的報錯信息。 (如果你的g++“不幸”被自動裝成了中文版,或許你可以試一試這個命令(也許需要先刪掉MinGW根目錄\bin中的g++,我沒試過))。(默認安裝 是否爲英文與什麼有關我也不清楚,或許是與系統語言有關,但我也不確定。我在中文win7下就自動裝成了中文,但我在中文版的win8下就裝的英文版(用 了上文的命令)。望大神賜教)。
安裝完畢後把F:\MinGW\bin 下的 mingw32-make.exe 改爲 make.exe
當然了,不改也可以。
Sublime Text 2 與 MinGW G++ 協同編程的一個小細節
那就是ST2貌似不讀取除Path外的環境變量(說貌似是因爲我沒有讀過ST2的官方文檔)
在使用其他庫時尤其需要注意。
請注意:這個章節也許在非win8 Release Preview環境下是無效的(我沒有在win7下測試,我的系統是win8 RP),也就是說也許在win7下下文所述4個環境變量可以被ST2正確讀取。
http://www.mingw.org/wiki/IncludePathHOWTO
http://gcc.gnu.org/onlinedocs/cpp/Environment-Variables.html#Environment-Variables
這兩個文檔講述了g++找尋頭文件的規則,第二個文檔給出了4個與找尋頭文件相關的環境變量
CPATHC_INCLUDE_PATHCPLUS_INCLUDE_PATHOBJC_INCLUDE_PATHCPATHspecifies a list of directories to be searched as if specified with-I, but after any paths given with-Ioptions on the command line. This environment variable is used regardless of which language is being preprocessed. 寫博客真是個體力活。這段時間在學習C++,接下來也希望可以分享些C++的東西。用Windows Live Writer 寫完,發上來格式似乎不大對?鄭理 Presents - 水平有限,見笑。
- 後記
- 如果使用Windows 8的cmd編譯,將會正常到這些環境變量定義的地方找尋頭文件。但在ST2中無效。這也是爲什麼上文給的c++編譯配置代碼註釋掉的一行中有-I 參數的原因。
- The remaining environment variables apply only when preprocessing the particular language indicated.