本文发自 http://www.binss.me/blog/add-some-plugins-to-sublime-text-and-share-some-shortcuts/,转载请注明出处。
此前已经介绍过个人在Sublime Text下的常用插件:
http://www.binss.me/blog/my-sublime-text-3-plugin/
在这套配置中,主要以支持python和前端工作为主。而最近由于工作需要转成了C++开发,在这种情况下,我依然选择使用sublime作为我的“IDE”的原因是:
-
用了三年Sublime,习惯了
-
工作中,编码环境和编译环境是分离的,也就是说,那些重度IDE强大的编译和调试功能并没有什么卵用
-
由于本质上是文本编辑器,所以最大的优点就是快
-
支持自定义插件,此前介绍过带动态参数编译和写博客插件,最近又写了个自动插入header的插件(装x利器),完善后会放上github
俗话说,工欲善其事必先利其器,既然选择了Sublime Text,相关的插件啊设置啊都有必要根据新环境重新配一遍。
经过一个月的实践,新增了以下三个插件:
CTags
https://github.com/SublimeText/CTags
IDE的定义跳转一直是很让我眼红的功能——直到我遇到了CTags(神马?你说SublimeCodeIntel?它什么都支持就是不支持c和c++!!)。
使用时,首先要为目录建立索引,命令是rebuild_tags,我将快捷键设置为ctrl+t:
{ "keys": ["ctrl+t"], "command": "rebuild_tags"}
建立索引后,就可以用ctrl+shift+鼠标左键进行转到定义,ctrl+shift+鼠标右键返回定义。为了方便,我重新定义了组合键为:
command:
{
"button": "button1",
"count": 1,
"press_command": "drag_select",
"modifiers": ["super"],
"command": "navigate_to_definition"
},
{
"button": "button2",
"count": 1,
"modifiers": ["super"],
"command": "jump_prev"
}
关于Ctags的安装有一个坑,如果直接用brew安装ctags,插件在rebuild tags的时候会出错:
解决方法是在CTags.sublime-settings中加入:
"command": "/usr/local/bin/ctags"
ConvertToUTF8
https://github.com/seanliang/ConvertToUTF8
项目中,很多文件的编码是gb2312,而sublime只支持utf8,所以打开的时候会乱码。通过这个插件,可以基本上解决乱码的问题。
在设置里面有一项convert_on_save,如果设为false,则保存的时候无论如何都会将文件转为utf8。而如果设为true,则保存为其原来的编码。
因此在需要时将其设置为true,然后通过File-Set File Encoding To来将utf8编码的文件保存为别的编码......因为某些编译工具只支持gbk。
SublimeLinter
添加子插件SublimeLinter-cppcheck
用于支持c++的语法检查。
然后还有些使用心得
-
如何进行全局查找?
super+shift+f
可以选择查找的范围。默认为当前文件所属的文件夹。
另外,在设置里面加入:
"find_selected_text": true
可以将选中内容后自动复制到查找框中。
查找(秒开)会新建一个tag现实查找结果,点击结果跳转到该文件该行。
-
默认设置下,支持emac的一些操作:
Ctrl+a/e 移动到行首/行尾
Ctrl+f/b 单字符的左右移动
Ctrl+h/d 向前删除/向后删除
Ctrl+p/n 移动至上一行/下一行
对于HHKB,可以用尾指按住Ctrl然后戳戳戳。
-
一些妙不可言的快捷键:
command+p / command + t 跳转文件
command+r 跳转函数
command+g 跳转行
command+shift+enter 光标前插入一行
command+/ 行注释
command+option+/ 块注释
command+option+f replace
command+ctrl+上 和上一行交换
command+ctrl+下 和上一行交换
command+shift+d 复制粘帖当前选中(默认为当前行)
ctrl+k 删除从光标开始到行末的内容
ctrl+shift+k 删除整行