基本概念
要完全理解本指南的其余部分,您需要熟悉本页介绍的概念。
通用约定
本指南是从 Windows 用户的角度编写的。大多数说明只需要进行微小的更改即可在其他平台上运行。
除非另有说明,否则相对路径(例如,Packages/User
)从 数据目录 开始。
我们在指示键盘快捷键时假设默认键绑定。如果您使用的是非美式英语键盘布局,某些键绑定可能与您的布局不匹配。这是由于 Sublime Text 在内部处理按键的方式造成的。
掌握 Sublime Text 需要时间
掌握 Sublime Text 需要时间和练习。幸运的是,它构建在少数几个概念之上,一旦所有部分组合在一起,就会形成一个一致的系统。
本指南将教你如何使用和配置 Sublime Text。
Sublime Text 是一款适用于程序员的多功能编辑器,但您不需要成为程序员才能使用它,也不需要对其进行广泛的配置才能提高工作效率——它是一款开箱即用的高效工具!然而,黑客会欣赏所有自定义和可扩展性机会。
在以下段落中,我们将概述您在使用编辑器一段时间后会熟悉的关键方面。
Data
目录
几乎所有对用户来说有趣的文件都位于数据目录下。数据目录是一个平台相关的路径
- Windows:
%APPDATA%\Sublime Text
- macOS:
~/Library/Application Support/Sublime Text
- Linux:
~/.config/sublime-text
如果您使用的是便携版(仅限 Windows),请查找 Application/Data
。这里,Application
指的是您解压缩便携文件并放置可执行文件的目录。
请注意,Data
目录仅在便携版中以该名称存在。在完整安装中,它是上述位置之一。
Packages 目录
这是一个位于数据目录下的关键目录。所有支持的编程和标记语言的资源都存储在这里。
(有关包和资源的更多信息,请稍后阅读。)
您可以通过主菜单(首选项 → 浏览包...)、API 调用(sublime.packages_path()
)以及将在后续主题中介绍的其他方式访问包目录。
在本指南中,我们将包文件夹称为包、包路径、包文件夹或包目录。
用户包
Packages/User
是一个用于自定义插件、代码片段、宏等的通用目录。可以将其视为包文件夹中的个人区域。此外,它还将包含您的大部分个人应用程序或插件设置。
Sublime Text 的更新永远不会覆盖 Packages/User
的内容。
Sublime Text 可编程
此信息对程序员很有用。其他用户只需要知道 Sublime Text 使具有编程技能的用户能够向编辑器添加自己的功能。
Sublime Text 通过应用程序编程接口 (API) 公开其内部结构,程序员可以使用Python 编程语言与之交互。
控制台
Sublime Text 和插件将调试信息推送到控制台。要打开控制台,请按 Ctrl+` 或从主菜单中选择查看 → 显示控制台。
以下是 Sublime Text 中的 Python 控制台
编辑器中包含一个嵌入式 Python 解释器。嵌入式解释器有助于检查编辑器的设置,并在开发插件时快速测试 API 调用。
您的系统 Python 与 Sublime Text 嵌入式 Python
Sublime Text 自带一个嵌入式 Python 解释器,它与您的系统 Python 解释器(如果可用)是分开的。
嵌入式解释器仅用于与插件 API 交互,不适用于一般开发。
包、插件、资源和其他术语
Sublime Text 的几乎所有方面都可以扩展或自定义。您可以修改编辑器的行为,添加宏和代码片段,扩展菜单等等。您甚至可以使用编辑器的 API 创建全新的功能来构建复杂的插件。
Sublime Text 的巨大灵活性是您将了解如此多配置文件的原因:必须有一个地方来指定所有可用的首选项和设置。
Sublime Text 中的配置文件是符合预定义结构或格式的文本文件:JSON 占主导地位,但您也会找到 XML 和 YAML 文件。对于更高级的扩展选项,将使用 Python 源代码文件。
在本指南中,为了简洁起见,我们有时将所有这些不同的配置文件统称为资源。
Sublime Text 将在包文件夹中查找资源。我们将在后面详细讨论包,但简而言之,为了保持整洁,Sublime Text 具有包的概念,即包含属于一起的资源的文件夹(或 zip 存档)。(也许它们有助于更快地撰写电子邮件,高效地编写 HTML,增强 C、Ruby、Go 等的编码体验)。
Textmate 兼容性
TextMate 是一个适用于 Mac 的编辑器。
由于 Sublime Text 很大程度上受到了 TextMate 1 的启发,因此它支持 TextMate 包中提供的大多数扩展,特别是排除了 .tmCommands
和 .tmSnippets
文件以及 .plist
文件中的任何其他配置。虽然 Sublime Text 识别大多数旧格式,例如 .tmLanguage
和 .tmTheme
,但已添加了使用 .sublime-*
扩展名的新格式,这些格式提供了旧功能的超集,或者只是 TextMate 格式的替代品。
vi/Vim 模拟
vi 是一款古老的模式化编辑器,允许用户通过键盘执行所有操作。Vim 是 vi 的现代版本,至今仍在广泛使用。
Sublime Text 通过 Vintage 包提供 vi 模拟。Vintage 包默认情况下是 *被忽略* 的,需要用户手动启用。在官方文档中了解更多关于 Vintage 的信息。
一些第三方包被开发出来,用于补充或替换内置的 vi 模拟。我们将在后面介绍第三方包的安装和使用。
emacs 模拟
emacs 是另一个流行的程序员编辑器。
Sublime Text 没有提供任何内置的 emacs 模拟,但您可以尝试其他 Sublime Text 用户创建的第三方包。与 vi 模拟的第三方包一样,我们将在后面介绍这些包的安装和使用。