Sublime Text 是一个代码编辑器(Sublime Text 2是收费软件,但可以无限期试用),也是HTML和散文先进的文本编辑器。Sublime Text是由程序员Jon Skinner于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展功能的Vim。我这里用的Windows平台。把Sublime操作模式修改成Vim习惯(Preferences->Settings-User),注释“Vintage"行
Sublime快捷键
- ctrl+shift+p:打开命令行
- ctrl+p:搜索项目中的文件,支持模糊匹配
- ctrl+r:列出当前文件中的所有函数,同ctrl+p后按一个@符号一样,其实可以把ctrl+r理解成ctrl+p的快捷键
- ctrl+r+‘:’/'#':先删除前面的’@‘,接‘:',再在后面输入行号,跳转指定行,接'#',搜索字符串,注意,支持组合使用,例如,可以在’@‘/':'/'#'前面加上文件名字,在指定文件里面进行相应的操作,例如,ctrl+p后,输入file_name@,就直接列出了file_name文件里面的函数
- ctrl+f:当前文件中查找关键字
- ctrl+shift+鼠标左键:选中函数,定位函数定义位置
- ctrl+t:按两次T,定位函数定义的地方,与上面ctrl+shift+鼠标左键一样
- ctrl+shift+f:在所有文件里面搜索
- 多重选择,按下ctrl,在希望出现光标的地方点击
- F11:全屏
- shift+F11:全屏免打扰模式,只编辑当前文件
- Ctrl+M 光标移动至括号内开始或结束的位置
- Ctrl+Shift+M 选择括号内的内容(按住-继续选择父括号)
- Esc 退出光标多行选择,退出搜索框,命令框等
- Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本
- Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑。举个栗子:快速选中并更改所有相同的变量名、函数名等
Package Control插件
安装Package Control插件,有两种方式,一种是通过命令行,另一种是通过下载安装包
命令行安装
- 打开控制台,直接通过Ctrl+~,或者通过View->Show Console
- 粘贴下面内容到控制台
Sublime text 3
import urllib.request,os,hashlib; h = 'eb2297e1a458f27d836c04bb0cbaf282' + 'd0e7a3098092775ccb37ca9d6b2e4b7d'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
Sublime text 2
import urllib2,os,hashlib; h = 'eb2297e1a458f27d836c04bb0cbaf282' + 'd0e7a3098092775ccb37ca9d6b2e4b7d'; 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()) ); by = urllib2.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); open( os.path.join( ipp, pf), 'wb' ).write(by) if dh == h else None; print('Error validating download (got %s instead of %s), please try manual install' % (dh, h) if dh != h else 'Please restart Sublime Text to finish installation')
下载安装包安装
- 点击 Preferences->Browse Packages… menu
- 选择安装路径
- 下载Package Control.sublime-package,并且拷贝到安装路径
- 重启Sublime Text
安装成功后,将会看到Perference->Package control tab
CTags插件
安装ctags插件,同样有两种方式,一种是通过Package Control插件,另一种是通过直接下载ctags的安装包,我这里只对Package Control方式进行介绍。
Package Control方式安装
按下 Shift + Ctrl + p 调出命令面板。输入 install 调出 Package Control: Install Package 选项。该选项会列出所有可被安装的插件,输入ctags,或者从列表中选择ctags进行安装。安装成功后,就会看到Perference->Package Settings->CTags。安装完成之后重启Sublime Text 2
注意,这里安装成功后也要去下载ctags.exe才可以用,下载了同样要修改环境变量,能够找到改可执行文件。
使用方法:
- 在左侧列表中选择项目目录
- 右键->CTags:Rebuild Tags
- 选中函数,Ctrl+两次T
CScope插件
安装同CTags插件一样,用Package Control方式安装很方便,同Ctags一样,安装成功后,同时也要去下载cscope.exe才可以用。
使用方法:
- 生成 cscope.files列表,例如:进入windows命令行,进入项目文件夹,执行>dir /s /b *.c *.cpp *.h *.hpp > cscope.files生成cscope.files
- 生成cscope.out文件,例如:用上面生成的cscope.files文件生成cscope.out,执行>cscope -b
- 修改cscope的配置文件,Preferences->Browse Packages->Cscope,修改文件CscopeSublime.sublime-settings里面关于"database_location"的内容,指定到上面生成的cscope.out文件路径,如果使用的是Sublime text 3,没有这一步,直接把上面生成的cscope.out文件放到当前代码文件夹里面即可
- 重启Sublime text 2
brackethighlighter插件
brackethighlighter为sublime括号配对显示插件,直接通过Package Control插件来安装,默认颜色不好看,修改颜色显示,Preference->Package Setting->Bracket highlighter->Bracket Setting - User,粘贴以下内容。配置文件修改参考于:https://gist.github.com/leopku/89ff7eb32b8563e0b523
{
"bracket_styles": {
"default": {
"icon": "dot",
"color": "brackethighlighter.default",
"style": "outline"
},
"unmatched": {
"icon": "question",
"color": "brackethighlighter.unmatched",
"style": "outline"
},
"curly": {
"icon": "curly_bracket",
"color": "brackethighlighter.curly",
"style": "outline"
},
"round": {
"icon": "round_bracket",
"color": "brackethighlighter.round",
"style": "outline"
},
"square": {
"icon": "square_bracket",
"color": "brackethighlighter.square",
"style": "underline"
},
"angle": {
"icon": "angle_bracket",
"color": "brackethighlighter.angle",
"style": "underline"
},
"tag": {
"icon": "tag",
// "endpoints": true,
"color": "brackethighlighter.tag",
"style": "outline"
},
"c_define": {
"icon": "hash"
// "color": "brackethighlighter.c_define",
// "style": "underline"
},
"single_quote": {
"icon": "single_quote",
"color": "brackethighlighter.single_quote",
"style": "outline"
},
"double_quote": {
"icon": "double_quote",
"color": "brackethighlighter.double_quote",
"style": "outline"
},
"regex": {
"icon": "regex"
// "color": "brackethighlighter.quote",
// "style": "underline"
}
}
}