Sublime Text使用入门7——个性化

Sublime Text 是能够高度定制个性化的,在接下来的话题中,将会阐述如何定制以适配你的需求。html

设置

Sublime Text将配置数据保存在 .sublime-settings 文件中.在复杂系统中使用设置是很灵活的.然而,这里有一条简单规则:sublime-text

要将配置文件放到 Packages/User文件夹下以保证其凌驾于其余可能发生冲突的配置文件之上.session

有了这样的约定,接下来让咱们来揭开如何个性化定制的秘密.编辑器

文件格式

配置文件是JSON格式的且后缀名为 .sublime-settings。spa

文件类型

每个.sublime-settings文件的做用由它们的名称决定. 它们多是描述性的 (例如 Preferences (Windows).sublime-settings 或 Minimap.sublime-settings), 或者与设置文件所控制的具备相关性.例如,文件类型设置须要带上定义文件类型的.tmLanguage 语法名称. 所以:操作系统

定义在Python.tmLanguage中的.py 文件类型 , 相应的设置文件被称做Python.sublime-settings.code

此外, 一些设置文件只会应用到特定的平台. 这能够从文件名中看出端倪: Preferences (Windows).sublime-settings,Preferences (Linux).sublime-settings, 等等.orm

重要: 在Packages/User文件夹下的Platform-specific设置文件将会被忽略. 这样的话, 就能够肯定单个Platform-specific设置文件会覆盖其余的设置文件.htm

如何访问和编辑公用设置文件

除非你须要很是细粒度的控制设置, 不然你只须要经过Preferences | Settings - UserPreferences | Settings - More菜单项来访问主配置文件便可. 编辑Preferences - Settings Default 并非一个很明智的作法, 由于每一次软件升级都会还原你的更改. 可是你能够参考这个文件: 它包含了全部全局变量和文件类型设置的注释说明.ci

 .sublime-settings文件的优先级顺序

同一个设置文件 (such as Python.sublime-settings)能够出如今多个地方. 全部命名相同的文件设置将会合并到一块儿而且后续的规则会覆盖前面的规则. 参考 Merging and Order of Precedence了解更多.

再一次强调:Packages/User中的最终设置文件将会覆盖前面定义的其余同名文件。

除了设置文件, Sublime Text还包含session 数据—当前正在编辑特殊设置的文件的设置. Session数据随着你所操做的文件更新, 所以不管你以任何方式调整特定文件的设置 (mainly through API calls),它们将会记录在session中而且优先级位于一切.sublime-settings 文件之上.

为了检查特定编辑的文件的设置值, 在console中使用view.settings().get(<setting_name>).

最后, 值得注意的是一些设置会自动调整.下面展现的是Sublime Text在Windows中处理假设层次的Python文件的次序:

  • Packages/Default/Preferences.sublime-settings

  • Packages/Default/Preferences (Windows).sublime-settings

  • Packages/User/Preferences.sublime-settings

  • Packages/Python/Python.sublime-settings

  • Packages/User/Python.sublime-settings

  • Session data for the current file

  • Auto adjusted settings

全局编辑器和文件设置

这些设置保存在 Preferences.sublime-settings 和 Preferences (<platform>).sublime-settings 文件中. 默认的在Packages/Default中.

<platform> 的有效名称是 Linux, OSX, 和 Windows.

文件类型设置

若是你想要指向特定的文件类型, 将 .sublime-settings文件命名为特定的文件类型语法定义便可.例如,若是语法定义为Python.tmLanguage, 咱们我要将设置文件叫作Python.sublime-settings.

特定文件类型的设置文件一般在特定的包中, 像 Packages/Python, 但同一文件类型的多个设置文件可能位于不一样的位置.

相似全局设置, 能够创建特定操做系统的文件类型. 例如, Python (Linux).sublime-settings只在Linux系统下有效.

此外, 在Packages/User下, 只有Python.sublime-settings 将会被读取, 而不是任何其余变种 Python (<platform>).sublime-settings文件.

不考虑位置, 全部特定文件类型设置文件优先于全部全局设置文件的文件类型设置.

如何保存用户设置

不管什么时候你想要保存设置, 尤为是须要在软件更新以前保存的时候,须要将相应的.sublime-settings文件保存到Packages/User目录.

快捷键

参阅Reference for key bindings 了解完整的快捷键设置文档.

文件格式

快捷键设置定义在.sublime-keymap 文件中. 为了在各个平台上更加智能, Linux,OSX和Windows上的快捷键映射是不同的. 只有每一个平台相应的快捷键才会被加载.

示例

下面是Windows下默认的快捷键映射的一个片断摘要:

[
        { "keys": ["ctrl+shift+n"], "command": "new_window" },
        { "keys": ["ctrl+o"], "command": "prompt_open_file" }
]

定义和覆盖默认快捷键映射

Sublime Text 附带了默认的快捷键映射 (例如, Packages/Default/Default (Windows).sublime-keymap). 为了覆盖默认定义的快捷键, 或者添加新的快捷键, 能够将单独的快捷键映射以更高的优先级保存起来,例如保存到Packages/User/Default (Windows).sublime-keymap文件中.

参阅 Merging and Order of Precedence 了解更多关于Sublime Text合并的次序.

高级快捷键绑定

简单的快捷键绑定包含一个键和一个要执行的命令.此外,还有更多复杂的语法:

传入参数

指定参数传入args:

{ "keys": ["shift+enter"], "command": "insert", "args": {"characters": "\n"} }

这里, 当按下Shift+Enter的时候\n 传入 insert 命令.

上下文

上下文环境决定一个给定的快捷键绑定在当前插入符号的位置仍是其余场景有效.

{ "keys": ["escape"], "command": "clear_fields", "context":
        [
                { "key": "has_next_field", "operator": "equal", "operand": true }
        ]
}
相关文章
相关标签/搜索