本文系统全面的介绍了 Sublime Text,旨在成为最优秀的 Sublime Text 中文教程。
更新记录
2014/09/27:完成初稿
2014/09/28:
更正打开控制台的快捷键为 Ctrl + `
更正全局替换的快捷键为 Ctrl + Alt + Enter
2016/09/15:作者已全面转向 Visual Studio Code
软件名称:
高级文本编辑器(Sublime Text) 3 Build 3065 官方英文绿色版
软件大小:
7.37MB
更新时间:
2014-10-11
前言(Prologue)
Sublime Text 是一款跨平台代码编辑器(Code Editor),从最初的 Sublime Text 1.0,到现在的 Sublime Text 3.0,Sublime Text 从一个不知名的编辑器演变到现在几乎是各平台首选的 GUI 编辑器。而这样优秀的编辑器却没有一个靠谱的中文教程,所以我试图通过本文弥补这个缺陷。
编辑器的选择(Editor Choices)
从初学编程到现在,我用过的编辑器有 EditPlus、UltraEdit、Notepad++、Vim、TextMate 和 Sublime Text,如果让我从中推荐,我会毫不犹豫的推荐 Vim 和 Sublime Text,原因有下面几点:
跨平台:Vim 和 Sublime Text 均为跨平台编辑器(在 Linux、OS X 和 Windows 下均可使用)。作为一个程序员,切换系统是常有的事情,为了减少重复学习,使用一个跨平台的编辑器是很有必要的。
可扩展:Vim 和 Sublime Text 都是可扩展的(Extensible),并包含大量实用插件,我们可以通过安装自己领域的插件来成倍提高工作效率。
互补:Vim 和 Sublime Text 分别是命令行环境(CLI)和图形界面环境(GUI)下的最佳选择,同时使用两者会大大提高工作效率。
个人背景(Personal Background)
我是一名非常典型的程序员:平时工作主要在 Linux 环境下使用 Java 和 Python,偶尔会用 HTML+CSS+JavaScript 编写网页;业余时会在 Windows 环境编写一些 C# 程序(包括控制台程序(Console Application)和移动应用(Mobile App),也会玩一些非主流语言(比如 Haskell,ML 和 Ruby 等)以拓展见识。
Ctrl + Enter 在当前行下面新增一行然后跳至该行;Ctrl + Shift + Enter 在当前行上面增加一行并跳至该行。
Ctrl + ←/→ 进行逐词移动,相应的,Ctrl + Shift + ←/→ 进行逐词选择。
Ctrl + ↑/↓ 移动当前显示区域,Ctrl + Shift + ↑/↓ 移动当前行。
选择(Selecting)
Sublime Text 的一大亮点是支持多重选择——同时选择多个区域,然后同时进行编辑。
Ctrl + D 选择当前光标所在的词并高亮该词所有出现的位置,再次 Ctrl + D 选择该词出现的下一个位置,在多重选词的过程中,使用 Ctrl + K 进行跳过,使用 Ctrl + U 进行回退,使用 Esc 退出多重编辑。
多重选词的一大应用场景就是重命名——从而使得代码更加整洁。尽管 Sublime Text 无法像 IDE(例如 Eclipse)那样进行自动重命名,但我们可以通过多重选词+多重编辑进行直观且便捷的重命名:
有时我们需要对一片区域的所有行进行同时编辑,Ctrl + Shift + L 可以将当前选中区域打散,然后进行同时编辑:
有打散自然就有合并,Ctrl + J 可以把当前选中区域合并为一行:
查找&替换(Finding&Replacing)
Sublime Text 提供了强大的查找(和替换)功能,为了提供一个清晰的介绍,我将 Sublime Text 的查找功能分为 快速查找、标准查找 和 多文件查找 三种类型。
快速查找&替换
多数情况下,我们需要查找文中某个关键字出现的其它位置,这时并不需要重新将该关键字重新输入一遍然后搜索,我们只需要使用 Shift + ←/→ 或 Ctrl + D 选中关键字,然后 F3 跳到其下一个出现位置, Shift + F3 跳到其上一个出现位置,此外还可以用 Alt + F3 选中其出现的所有位置(之后可以进行多重编辑,也就是快速替换)。
标准查找&替换
另一种常见的使用场景是搜索某个已知但不在当前显示区域的关键字,这时可以使用 Ctrl + F 调出搜索框进行搜索:
以及使用 Ctrl + H 进行替换:
关键字查找&替换
对于普通用户来说,常规的关键字搜索就可以满足其需求:在搜索框输入关键字后 Enter 跳至关键字当前光标的下一个位置, Shift + Enter 跳至上一个位置, Alt + Enter 选中其出现的所有位置(同样的,接下来可以进行快速替换)。
Sublime Text 的查找有不同的模式: Alt + C 切换大小写敏感(Case-sensitive)模式, Alt + W 切换整字匹配(Whole matching)模式,除此之外Sublime Text还支持在选中范围内搜索(Search in selection),这个功能没有对应的快捷键,但可以通过以下配置项自动开启。
尽管是一个文本编辑器,Sublime Text 能够对代码符号进行一定程度的索引。 Ctrl + R 会列出当前文件中的符号(例如类名和函数名,但无法深入到变量名),输入符号名称 Enter 即可以跳转到该处。此外,还可以使用 F12 快速跳转到当前光标所在符号的定义处(Jump to Definition)。
编写代码时会碰到大量的括号,利用 Ctrl + M 可以快速的在起始括号和结尾括号间切换, Ctrl + Shift + M 则可以快速选择括号间的内容,对于缩进型语言(例如Python)则可以使用 Ctrl + Shift + J 。
此外,我使用插件以高亮显示配对括号以及当前光标所在区域,效果如下:
命令行(Command Line)
尽管提供了 Python 控制台,但 Sublime Text 的控制台仅支持单行输入,十分不方便,所以我使用以进行一些编码实验(Experiments)。
其它(Miscellaneous)
尽管我试图在本文包含尽可能多的 Sublime Text 实用技能,但受限于篇幅和我的个人经验,本文仍不免有所遗漏,欢迎在评论里指出本文的错误及遗漏。
下面是一些可能有用但我很少用到的功能:
宏(Macro):Sublime Text 支持录制宏,但我在实际工作中并未发现宏有多大用处。
其它平台(Other Platforms):本文只介绍了 Windows 平台上 Sublime Text 的使用,不过 Linux 和 OS X 上Sublime Text的使用方式和Windows差别不大,只是在快捷键上有所差异,请参考 Windows/Linux快捷键 和 OS X 快捷键。
项目(Projects):Sublime Text支持简单的 项目管理,但我一般只用到文件夹。
Vim模式(Vintage):Sublime Text自带 Vim模式。
构建(Build):通过配置,Sublime Text可以进行 源码构建。
调试(Debug):通过安装 插件,Sublime Text 可以对代码进行调试。