自定义

配置

概述

Sublime Text有很多不同的配置来自定它的行为。配置可以通过编辑文本文件来修改:虽然这比使用GUI有点麻烦,不过这会是一个更灵活的系统。

Settings

查看所有可用的配置以及每个配置的描述,可以查看Packages/Default/Preferences.sublime-settings。可以通过Preferences/Settings - Default菜单来访问这个文件。

如果你发现你想要修改的配置,把它们添加到用户配置(User Settings)里面 (可通过Preferences/Settings - User菜单访问),这样即便Sublime升级也会被保存。

Settings文件

配置文件的加载和启用是按下面这个顺序:

  1. Packages/Default/Preferences.sublime-settings
  2. Packages/Default/Preferences ().sublime-settings
  3. Packages/User/Preferences.sublime-settings
  4. Packages//.sublime-settings
  5. Packages/User/.sublime-settings

通常情况下,你应该把你的配置放在Packages/User/Preferences.sublime-settings里。如果你要给特定的文件类型指定配置,比如,Python, 应该放在Packages/User/Python.sublime-settings文件中。

配置文件示例

试着把这些保存为Packages/User/Preferences.sublime-settings

  1. {
  2. "tab_size": 4,
  3. "translate_tabs_to_spaces": false
  4. }

单独语法配置

在每一种语法配置的基础上可以指定一些配置。通常用于根据文件类型指定不同语法高亮颜色方案。

可以通过Preferences/Settings - More/Syntax Specific - User菜单来编辑当前文件的语法配置。

单独的项目配置

可以在project配置的基础上为每个项目进行单独的配置。可以参考Project相关的文档

免注意力分散(Distraction Free)的配置

Distraction Free模式有一个额外的配置文件(Distraction Free.sublime-settings)。可以把Distraction Free模式相关的配置放在这里,通过Preferences/Settings - More/Distraction Free - User菜单来访问。

修改键盘绑定的配置

toggle_setting命令可用于触发设置。例如,将一个快捷键绑定为触发word_wrap,you can use (in Preferences/Key Bindings - User):

  1. {
  2. "keys": ["alt+w"],
  3. "command": "toggle_setting",
  4. "args":
  5. {
  6. "setting": "word_wrap"
  7. }
  8. }

set_setting命令可用于把一项setting设置为指定的value。比如,下面这项键盘绑定把当前文件的语法方案设置为Cobalt主题:

  1. {
  2. "keys": ["ctrl+k", "ctrl+c"],
  3. "command": "set_setting",
  4. "args":
  5. {
  6. "setting": "color_scheme",
  7. "value": "Packages/Color Scheme - Default/Cobalt.tmTheme"
  8. }
  9. }

上面的这些配置修改是缓冲区的特定配置:它们会覆盖任何地方保存在配置文件里的配置,但是只对当前文件有效。

故障排除

由于配置可以放在多个不同的地方,如果要查看当前文件应用的某项配置,可以在控制台通过下面的语句来查看:

  1. view.settings().get('font_face')

字体设置

概述

通过菜单Preferences/Settings - User,添加下面这行配置就可以修改字体:

  1. "font_face": "Courier New",
  2. "font_size": 10

保存则立即会生效。

可以通过Preferences/Settings - Default菜单来查看其它的配置。在Sublime Text中,这里有很多可自定义的东西

缩进设置

概述

缩进设置决定了tab符缩进的大小,控制tab键是插入tab符号还是空格。除了自动检测之外,它们可以自定义为全局,某种文件类型,或者某个文件。

设置

tab_size
数字。插入的空格数

translate_tabs_to_spaces
Boolean, 如果为true,按tab键将会输入空格替代,而不是tab字符。

detect_indentation
Boolean, 默认为true, tab_size和translate_tabs_to_spaces将会在文件载入是自动计算。

use_tab_stops
Boolean, 如果translate_tabs_to_spaces为true, use_tab_stops将会使tab和backspace在下一个tab停止时insert/delete

配置文件

配置文件将会按下面这个顺序应用:

  1. Packages/Default/Preferences.sublime-settings
  2. Packages/Default/Preferences ().sublime-settings
  3. Packages/User/Preferences.sublime-settings
  4. Packages//.sublime-settings
  5. Packages/User/.sublime-settings

通常情况下,你应该把你的配置放在Packages/User/Preferences.sublime-settings里。如果你要给特定的文件类型指定配置,比如,Python, 应该放在Packages/User/Python.sublime-settings文件中。

配置文件示例

试着把这些保存为Packages/User/Preferences.sublime-settings

  1. {
  2. "tab_size": 4,
  3. "translate_tabs_to_spaces": false
  4. }

单独语法配置

可以在基础配置之上指定单独的语法配置。在Preferences/Settings - More/Syntax Specific - User菜单下。

缩进的检测

当一个文件载入时,它的内容会被检查,tab_size和translate_tabs_to_spaces设置将会应用到该文件。状态栏将会报告发了什么。尽管编辑器会处理的很好,如果想要把它禁用的话,可以通过detect_indentation来设置。

缩进检测可以手动执行,通过View/Indentation/Guess Settings From Buffer菜单执行detect_indentation命令。

Tab和空格之间转换

View/Indentation菜单里有命令可以将当前文件中的空白在tab符和空格符之间转换。这几个菜单项执行的是expand_tabs和unexpand_tabs命令。

自动缩进

自动缩进猜测会在换行时给每一行添加一定数量空白符。由下面这个配置控制:

auto_indent
Boolean, 默认是开启。

smart_indent
Boolean, 默认是开启。具有一点小聪明的自动缩进,比如,在一个if语法片段的下一行进行缩进。

trim_automatic_white_space
Boolean, 默认开启。当断行时由auto_indent去除行头尾的空白。

indent_to_bracket
Boolean, 默认禁用。缩进时根据第一个前括号来空白数。像下面这样:

use_indent_to_bracket(to_indent,
like_this);

拼写检查

概述

Sublime Text使用了Hunspell来做拼写检查的支持。可以从OpenOffice.org Extension List获取额外的词典。

Sublime Text可使用的词典在这里https://github.com/SublimeText/Dictionaries

词典

Sublime Text目前只支持UTF-8编码的词典。大部分词典并不是UTF-8编码的,而是使用一种更紧凑的编码。所以在Sublime Text中使用词典,需要将它转换成UTF-8编码。

如果你有一个UTF-8编码的词典,可以将它放在一package中,比如,Packages/User, 可以通过Preferences/Browse Packages菜单访问。然后就可以在View/Dictionary菜单中选择词典了。

配置

有两项配置会影响拼写检查:spell_check, 控制是否启用,dictionary, 指定词典的路径。示例:

  1. "spell_check": true,
  2. "dictionary": "Packages/Language - English/en_US.dic"

命令

  • next_misspelling: 选择下一个拼写错误
  • prev_misspelling: 选择上一个拼写错误
  • ignore_word: 指定word单词添加到忽略列表中。

包(Packages)

概述

Packages是Sublime Text的一组资源文件集合,用于:插件,语法高亮定义,菜单,代码片段等等。Sublime Text只附带几个包,更多的是用户创建的。

Packages以.sublime-package文件格式保存,其实是zip格式,只不过用了另外一个后缀名称。Packages也可以以未压缩的目录保存,或者2种方式混合:包目录下的文件将会覆盖.sublime-package格式压缩包中的文件。

目录位置

zip压缩的包放在:

  • <executable_path>/Packages
  • <data_path>/Installed Packages

目录包可以放在:

  • <data_path>/Packages

例如,Python包放在<executable_path>/Packages/Python.sublime-package, 任何放在<data_path>/Packages/Python目录下的文件将会覆盖.sublime-package压缩包中的文件。

一般情况下,<executable_path>/Packages下放Sublime Text的自带包,<data_path>/Installed Packages下放第三方用户开发的包。

特殊包

有2个特殊包: DefaultUserDefault优先顺序总是排在第一,User优先顺序总是排在最后。包的优先顺序会影响包之间的文件合并,比如Main.sublime-menu。任何包都可能会包含一个Main.sublime-menu文件, 但是却不会覆盖掉主菜单,而是根据包顺序把这个文件进行合并。

DefaultUser之外的包按照字母顺序排序。

创建一个新的包

要创建一个新的包,只需要简单的在<data_path>/Installed Packages目录下新建一个目录就可以了。可以通过Preferences/Browse Packages菜单打开这个目录。

覆盖Zip包中的文件

Packages/<Package Name>目录下建立一个相同名字的文件即可。

例如要覆盖Sublime Text自带的Python.sublime-package包中的function.sublime-snippet文件,在<data_path>/Packages下创建Python目录,然后把自己的function.sublime-snippet文件放在改目录下即可。