Sublime Text 2 && MinGW G++ On Windows

一名合格的程序員在我看來至少需要三樣東西:

(我還不合格:P)

  • 一個稱手的鍵盤
  • 一個舒適的屏幕
  • 一個好用的編輯器
  •  
  • 這篇隨筆就是對Sublime Text 2 這個編輯器我一個月來的使用總結,方便自己以後翻閱,也免了自己再去海量的網絡文章中找尋。這篇並不是ST2的介紹
  • sub_thumb2_thumb

    Sublime Text 2 配置

  • 官方文檔在此

    http://docs.sublimetext.info/en/latest/index.html

  • 安裝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.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章