编辑神器:Sublime Text 2

Sublime Text 2 (以下简称 ST2),无疑是我所用过的最好用的文本(代码)编辑器,没有之一!基于它的某些诱人特性,总让人在不经意间就眼前一亮,所以最近身边有好多同事都因无意一瞥,就被其吸引,继而让我推荐。

先来说说它的优势所在:

  • 启动快速,运行流畅,而且这是在拥有众多功能和加载许多插件的前提下,单凭这一点,就达到了我内心“神器”的标准;
  • UI 漂亮精美,内置多款主题,无论你喜欢深色背景,还是钟意浅色皮肤,它都能满足你;
  • 支持各种流行编程语言的语法高亮,非常齐全,还可通过插件扩展;
  • 代码自动补全提示,注意:它只是个编辑器,不是 IDE,虽然提示的代码有限,但十分实用(特别是写 CSS,太爽了);
  • 可定制性和可扩展性,这个可就因人而异了,有人嫌麻烦,有人要个性,但毫无疑问的是,ST2 因为这一点而无比强大!

有没有心动呢?心动不如行动,赶紧来试试吧。

下载

  • 稳定版:Stable
  • 开发版:Dev - Semi-frequently updated, available to anyone.
  • 内测版:Nightly - Mostly frequently updated, available for registered users only.

推荐下载开发版(Dev)。

破解

其实未注册的免费版跟付费版功能完全相同,只是前者主窗口右上角有 “UNREGISTERED” 的水印而已,还有就是偶尔的提示注册弹窗(频率低的可以忽略不记),所以破解我既不提倡,也觉得没那必要。过程我就不赘述了,请移步至以下链接。

使用技巧

提示:因为本文基于 OS X 环境所写,所以为了更好的阅读下文,请先确保理解 OS X 与 Windows 下的键盘映射关系。见表:

OS X 符号 对应 Windows
Command => Ctrl
Shift => Shift
Option => Alt
Control => Ctrl

多重选择(Multi-Selection)

Multi-Selection

这项功能实在是太强大了!太让人随心所欲了,使得许多需要用正则、高级搜索、替换才能完成的任务,变得轻松 easy,不禁让我感慨:“当年没这神器,是怎么活过来的?!”

如何激活多重选择呢?

  • 按住 Command,点击编辑区域内任何你所期望光标出现的位置;
  • 通过多次 Command + D,即可将全文中与光标当前所在位置的词相同的词逐一加入选择。而在有词句选中状况下,通过 Command + Control + G 即可一次性选择全文中所有相同的词;
  • Windows 下可按住鼠标中键后拖动来进行垂直方向的纵列选择,OS X 下则是按住 option 键;
  • 选中多行文本,通过 Command + Shift + L 来将光标打散至每行行尾。

随心所欲跳转(Goto Anything)

Goto Anything

许多 IDE 都有这个功能,切换当前打开的文档嘛。但 ST2 的 Goto Anything 已经完全超越了,当我们按下 Command + P 时看看都能做些什么:

  • 切换文档,不单单是在当前打开的文档之间哦,包括了整个 Project,并可用关键字过滤
  • 关键字以 @ 开头,匹配的是文档中的函数以及其它关键内容(例如:HTML 中就匹配元素 id,这有些类似一般 IDE 中的 “outline” 的功能),它的快捷键是 Command + R
  • 关键字以 # 开头,其实就是个全文搜索
  • 关键字以 : 开头,后跟数字可跳转至相应的行,它的快捷键是 Ctrl + G

边栏(Side Bar)

Side Bar

很多编辑器(Notepad++ etc.)也有边栏,但 ST2 有点不同的是:单选左侧边栏中的文件,右侧自动出现文档预览(若选中的为图片等文件,则显示其二进制编码)。当你修改编辑它时,它才在 ST2 中以 Tab 的形式自动打开,so sweety ☺

命令面板(Command Palette)

Command Palette

执行命令的快捷入口,我们一般以快捷键 Command + Shift + P 来快速调用,当然你也可以在菜单 Tool 下找到它。

无干扰模式(Distraction Free Mode)

在菜单 View 中选择 Enter Distraction Free Mode 就可进入无干扰模式。快捷键为 Ctrl + Shift + Command + F

Distraction Free Mode

通过修改 Preferences -> Settings - More -> Distraction Free - User 可以对防干扰模式进行一些设置:

{
    "line_numbers": false,      // 是否显示行号
    "gutter": false,            // 是否显示边列
    "draw_centered": true,      // 是否居中显示
    "wrap_width": 80,           // 换行宽度(单位:字符)
    "word_wrap": true,          // 是否自动换行
    "scroll_past_end": true     // 滚动能否超过结尾
}

迷你地图(Minimap)

右侧默认显示迷你地图,这其实是个全局预览加模糊定位文档位置的功能。当然如果你像增大编辑可视面积,也可通过菜单 “View” 选择 “Hide Minimap” 将其关闭。

设置

Preferences -> Settings - Default,这个是 ST2 的默认设置,不建议修改此文件,而是通过修改 Preferences -> Settings - User 来达到个性化的定制。例如,以下就是我的 User 设定:

{
    "folder_exclude_patterns":
    [
        ".svn",
        ".git",
        ".hg",
        "CVS",
        ".idea"
    ],
    "highlight_line": true,
    "highlight_modified_tabs": true,
    "scroll_past_end": true,
    "tab_size": 2,
    "theme": "Soda Dark.sublime-theme"
}

根据字面意思相信你都能看懂分别代表什么意思,这里要提一下的是如何开启鼎鼎大名的 Vim 模式(重度 Coder 的大爱),请添加这句:

{
    "ignored_packages": []
}

快捷键

类似设置,你可以进入 Preferences -> Key Bindings - Default 查看所有的快捷键设置,然后在 Key Bindings - User 来自定义快捷键。

附上常用的快捷键:(Windows 用户请移步至 这里

编辑
⌃⇧K 删除整行
⌘KK (⌃K) 从光标处删除至行尾
⌘⌫ 从光标处删除至行首
⇧⌘↩ 在当前行之前插入新行
⌘↩ 在当前行之后插入新行
⌃⌘↑ 上移一行
⌃⌘↓ 下移一行
⌘] 缩进当前行
⌘[ 反缩进当前行
⌘L 选择行 (重复按下将下一行加入选择)
⌘D 选择词 (重复按下时多重选择相同的词)
⌃⇧M 选择括号内的内容
⌃M 跳转至对应的括号
⇧⌘D 复制(多)行
⌘J 合并(多)行
⌘/ 注释
⌥⌘/ 块注释
⌘Y 恢复或重复
⇧⌘V 粘贴并自动缩进
⌘U 软撤销(可撤销光标移动)
⇧⌘U 软重做(可重做光标移动)
查找/替换
⌘F 查找
⌥⌘F 替换
⇧⌘F 在文件中查找
⌘G 查找下一个
⌃⌘G 查找并选中全部
XML/HTML
⇧⌘A 选择标签内的内容
⌃⇧W 嵌套标签
⌥⌘ . 闭合当前标签
拆分窗口
⌥⌘[1,2,3,4,5] 单列、两列、三列、四列、栅格
⌥⇧⌘[2,3] 两栏、三栏
其它
⌘P 随心所欲跳转
⇧⌘P 打开命令面板
⌘KB 切换侧边栏(我的已修改为 ⌃S)
⌃ ` 打开 python 控制台
⌘T 前往文件

安装插件

ST2 的插件安装是通过所谓的 Package Control (包控制) 来实现的。如果你用过 npm 或者 spm ,那你一定不会对这种包管理的方式感到陌生。

安装 Package Control 的方法:

  1. 打开 ST2,通过 Ctrl + ` 调出 Console (控制台)
  2. 将以下代码粘贴进命令行中并回车:

    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'
    
  3. 重启 ST2,如果在 Preferences 下见到 Package Control 这一项,就说明安装成功了。

接下来我们就可以利用 Package Control 来安装插件了:

  1. 打开 ST2,通过 Command + Shift + P 打开命令面板,输入关键字调出 Package Control: Install Package

  2. 选择 Package Control: Install Package,稍等片刻后就可会出现插件列表,可输入插件名来在列表中查找选择所需插件

  3. 等待安装(左下角 [ = ] 显示运行中),安装完毕后重启 ST2 即可

常用插件

这里就简单罗列一些,包括了网上热评的和自己在用的。

  • Alignment

    这插件用于对齐代码赋值语句, 例如:

    var name = "sublimt"
    var version = "2.0.1"
    var title = "sublime text"
    

    以上代码就能转化为:

    var name    = "sublimt"
    var version = "2.0.1"
    var title   = "sublime text"
    
  • Clipboard History

    粘贴板历史记录,方便使用复制/剪切的内容。

  • ColorPicker

    支持在各个平台下取色,没什么好说的。

  • Ctags

    可以在代码里直接查看函数定义,比如看一个函数的定义或者类的定义。不过可惜无法在 OS X 下使用。

  • DocBlockr

    自动生成标准 JSDoc 注释的好帮手,只需在函数声明定义上方输入 /** 然后回车,便会出现类似如下代码:

    /**
    * [width description]
    * @param  {[type]} px [description]
    * @return {[type]}    [description]
    */
    
  • Emmet

    你也许没听说它,但其前身:zen coding 可谓是鼎鼎大名(在前端界)。之所以更名,是因为它给自己的定位:

    the essential toolkit for web-developers

    作为资深前端插件,它不仅可安装在 ST2 上,基本上流行的 IDE (Aptana/Eclipse etc.) 与编辑器 (Notepad++/TextMate etc.),它都提供支持。详细的使用文档:Emmet DocumentationEmmet for ST2

  • GBK Encoding Support

    解决对中文编码不支持的问题,必装吧。因为你发现 ST2 菜单中 File -> Reopen with Encoding 压根就没有国标码!

  • JsFormat

    格式化 JS,当然也包括 JSON,快捷键是 Ctrl + Shift + F 非常方便。

  • MarkdownEditing

    MarkdownEditing 从视觉和便捷性上针对 Markdown 文档的编辑进行了一系列的优化。

    附上 Markdown 语法说明 (简体中文版),and MarkdownEditing 的详细中文介绍

  • Markdown Preview

    能在浏览器中对当前 Markdown 文件进行预览。甚至生成相应的 HTML 文档。使用要用命令面板,输入相应的关键字查找 Markdown Preview 命令。当然,你也可以自定义快捷键。

  • SideBarEnhancements

    加强在侧栏目录树中右键的选项。如图所示:

    SideBarEnhancements

  • 最后介绍一个 自动生成当天日期 的小插件,TextMate 用户一定不会陌生,命令是 isoD + Tab,此非官方插件,所以要使用的话,必须将 timestamp.py 这个文件加入到用户配置目录(Packages -> User)下。

View on GitHub