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

  • posted @ 2012-08-10 16:13  郑理  阅读(7691)  评论(6编辑  收藏