Sublime Text 2 && MinGW G++ On Windows
一名合格的程序员在我看来至少需要三样东西:
(我还不合格:P)
Sublime Text 2 配置
官方文档在此
安装Package Control
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}"] } ] }
Sublime Text 2 常用快捷键
Vim的快捷键
"ignored_packages": []
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 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