一名合格的程序员在我看来至少需要三样东西:
(我还不合格: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.