我的 Sublime Text2 配置
Sublime Text 2是最近很火的一个代码编辑器,我也跟风玩了一下,果然很好用。方便的插件管理器加上丰富的插件,可以很容易把它调教得很顺手。几乎每项功能都可以用鼠标和键盘两种方式来实现,方便各种习惯的人。Sublime Text 2 的介绍与推荐网上已经有很多,这里记一下我安装的包和配置。
Package Control (因为这东西在后台更新曾经导致我的Sublime完全崩溃, 已经弃用)
-
这是个主题,也就是Sublime自身的皮肤,比自带的要漂亮一些。在包管理器中装上之后,打开配置文件
Preferences
->Settings - User
,加上一行"theme": "Soda Light.sublime-theme"
或者"theme": "Soda Dark.sublime-theme"
。前面一个是亮色主题,后面一个是暗色主题。我喜欢暗色,看起来比较有黑客的调调。 -
这个是代码高亮方案。包管理器中没有这个方案,官网似乎要翻墙才能上,国内可以在这里下载。把下载到的
Made of Code.tmTheme
放到Sublime Text 2的安装目录下的Data\Packages\Color Scheme - Default
文件夹,然后就可以在Preferences
->Color Scheme
选择made of code
。 - Markdown Build
-
这两个是写Markdown必备的。可以在包管理器中安装。装完之后,写作Markdown时(右下角显示语法为Markdown),可以按
ctrl+b
,直接就会生成HTML,并在浏览器中显示。 -
这个是用来支持放在Markdown文件头部的yaml信息的代码高亮, 便于使用jekyll写Blog.
-
这是用来增强左边的侧边栏。左侧边栏可以在
View
->Side Bar
->Show Side Bar
中打开,可以用Project
->Add Folder to Project...
往侧边栏加入常用的文件夹。装完这个插件,侧边栏的右键菜单会多一些功能,挺实用的。 -
这是用来在写代码时做代码检查的。可以在包管理器中安装。写Python程序的话,它还会帮你查代码是否符合PEP8的要求。有问题有代码会出现白框,点击时底下的状态栏会提示出什么问题。
-
这是用来按PEP8自动格式化代码的。可以在包管理器中安装。如果以前写程序不留意的话,用SublimeLinter一查,满屏都是白框框,只要装上这个包,按
ctrl+shift+r
,代码就会按PEP8要求自动格式化了,一屏的白框几乎都消失了。 -
听说Sublime Text 2读GBK编码的文件会乱码,所以我早早就把这个给装上了,没见过乱码,不知管用不。
-
这是用来做括号匹配高亮的,可以在包管理器中安装。Sublime Text 2自带的括号匹配只有小小的一横线,太不显眼了,这个可以让高亮变成大大的一坨,不过我觉得它大得会盖住光标了。(现在已经不用了)
-
这是用来在当前文件所在位置打开终端的。可以在包管理器中安装。对于Windows用户,安装完后,要先在
Preferences
->Package Setting
->Terminal
->Settings - Default
里,设置"terminal": "cmd",
。(如果喜欢用ipython的话,也可以改为ipython)之后只要按下ctrl+shift+t
,即可在当前文件位置打开命令行窗口。 -
用来做代码对齐的, 最主要是做等号对齐. 我的设置把默认快捷键取消掉, 自定义为
{ "keys": ["alt+a"], "command": "alignment" }
, 按alt+a
进行等号对齐. -
这是用来快速查文档的, 我的设置把默认快捷键取消掉, 自定义为
{"keys": ["f1"], "command": "goto_documentation"}
, 按F1就可以跳转到光标位置的文件.我把这个插件Fork出来改了几行, 添加了对 Erlang 的支持, 在这里
-
这个似乎是目前ST2上最好用的Python代码补全插件, 不过它的快捷键默认设置比较坑爹, 我全部取消掉, 具体设置看我的 GIST: 键盘设置 和 鼠标设置
-
新建文件时的模板, 我的GIST里有在不同语法环境下打开不同模板文件的设置. 对于经常要在多种语言下工具的人比较方便
- Sublime-Erlang
-
这两个是用ST2写Erlang代码必备插件, 前一个提供了更好的语方高亮等支持, 需要禁用掉Sublime自带的Erlang插件. 后一个提供了代码补全功能, 可恶的是原作者人为不支持Windows, 所以我自己Fork了一份, 添加了对Windows的支持.
我还安装了另外的一些包,还没怎么用,这里就不详细介绍了:
- KeymapManager 插件快捷键管理,快捷键
ctrl+alt+k
- INI file Syntax Highlighting ini文件代码高亮
- ApacheConf.tmLanguage Apache配置文件代码高亮
- sublime-phpsnippets 更多的一些PHP代码补全
- jQuery jQuery
- Tag HTML标签补完、格式化
还有一些我装了又删掉的包,不是说它们做得不好,而是我不喜欢或是在我的机上莫明运行不能,不折腾了。
- Pep8Lint PEP8检查,其实用SublimeLinter检查就够了
- SublimeCodeIntel 代码补全,这东西上百兆的巨大体积就不说了,问题是在我的比较大的代码文件上工作不正常,不知怎么办。反正Sublime Text 2本身也自带一点代码补完功能,这个不用也罢了。
Sublime Text 2 我最常用快捷键是以下几个:
ctrl+p
跳转到任意文件ctrl+r
快速定位到指定类/函数/标题ctrl+g
快速跳转到某一行号,在debug时很常用ctrl+d
多处选择, 绝对的神器!ctrl+b
buildctrl+shift+t
在当前位置打开终端(需安装terminal)ctrl+shift+r
按PEP8格式化代码(需安装Python PEP8 Autoformat)ctrl+shift+p
基本上啥功能都在里面了
还有 ctrl+s
、ctrl+a
、ctrl+z
、ctrl+x
、ctrl+c
、ctrl+v
这些和其他软件一样,就不用多说了
Sublime Text 2 的配置文件的修改可以参考Sublime Text 2 设置文件详解。默认其实已经挺好,我是在Preferences
-> Setting User
加了这几行:
"default_line_ending": "unix",
"rulers":[78],
"translate_tabs_to_spaces": true
分别是用来设定行尾换行符、显示长行标尺和按tab输出空格。
另外有一个很实用的设置,在括号中使用Enter跳出括号,在Preferences
-> Key Bindings User
中加上
[
{"keys": ["enter"], "command": "move", "args": {"by": "characters", "forward": true}, "context":
[
{ "key": "following_text", "operator": "regex_contains", "operand": "^[)\\]\\>\\'\\\"\\ %>\\}\\;\\,]", "match_all": true },
{ "key": "preceding_text", "operator": "not_regex_match", "operand": "^.*\\{$", "match_all": true },
{ "key": "auto_complete_visible", "operator": "equal", "operand": false }
]
}
]
暂时先这么多,以后再补充吧。
参考:
- Sublime Text 2 入门及技巧
- 配置Sublime Text使用Markdown,语法高亮,生成HTML
- 一些必不可少的Sublime Text 2插件
- Sublime Text 2 设置文件详解
- sublime 怎样跳出括号?
更新+后记+废话(2013年9月12日):
现在已经不用 Package Control 了, 其实 ST2 的插件多数都在 Github上, 自己上去找插件, 放到 Packages 文件夹里就好, 用 Github 进行升级和管理, 比什么都好.
这篇文章是1月份写的, 最初是放在我的iteye博客上的. ST2 从年初用到现在, 我从业余码农变成职业码农, 重装过一两回ST2, 增减了一些插件. 之前主要是用来写 Python, 现在还要兼顾 Erlang/ PHP/ JavaScript/ HTML, 还有于是又多了一些插件. 主要的加到上面去了.
ST2的插件十分丰富的. 刚开始玩的人, 尤其是装上了 Package Control 这么方便的东西之后, 可能会使劲地往里头装东西. 但用过一段时间会发现, 很多插件其实并不太用得上, 装多了反而会造成快捷键冲突/影响运行速度和稳定性的问题, 于是就会想着去精简一些插件. 这和折腾其它的东西也是很像的, 从简陋到臃肿, 再到简约.
ST2本身强大的功能配合丰富的插件, 使我可以把它变成一个大一统的IDE, 写啥代码都用它, 统一操作习惯, 很爽.
ST2的插件是十分自由的, 有点 Python 基础的都可以自己折腾着玩, 我自己都Fork过几个, 按着自己的需要改来用. 我想, 喜欢折腾和喜欢造轮子的人, 大概都会喜欢上它吧.
blog comments powered by Disqus