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快捷鍵:
  • ctags-sublime-_thumb7_thumb
  • 更多信息,參看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個與找尋頭文件相關的環境變量

    CPATH
    C_INCLUDE_PATH
    CPLUS_INCLUDE_PATH
    OBJC_INCLUDE_PATH

    CPATH specifies a list of directories to be searched as if specified with -I, but after any paths given with -I options on the command line. This environment variable is used regardless of which language is being preprocessed.

    The remaining environment variables apply only when preprocessing the particular language indicated.

     

    如果使用Windows 8的cmd編譯,將會正常到這些環境變量定義的地方找尋頭文件。但在ST2中無效。這也是為什么上文給的c++編譯配置代碼注釋掉的一行中有-I 參數的原因。

     

    后記

    寫博客真是個體力活。這段時間在學習C++,接下來也希望可以分享些C++的東西。

    水平有限,見笑。

    用Windows Live Writer 寫完,發上來格式似乎不大對?

    鄭理 Presents


  • 免責聲明!

    本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



     
    粵ICP備18138465號   © 2018-2025 CODEPRJ.COM