自定义
配置
概述
Sublime Text有很多不同的配置来自定它的行为。配置可以通过编辑文本文件来修改:虽然这比使用GUI有点麻烦,不过这会是一个更灵活的系统。
Settings
查看所有可用的配置以及每个配置的描述,可以查看Packages/Default/Preferences.sublime-settings。可以通过Preferences/Settings - Default菜单来访问这个文件。
如果你发现你想要修改的配置,把它们添加到用户配置(User Settings)里面 (可通过Preferences/Settings - User菜单访问),这样即便Sublime升级也会被保存。
Settings文件
配置文件的加载和启用是按下面这个顺序:
- Packages/Default/Preferences.sublime-settings
- Packages/Default/Preferences (
).sublime-settings - Packages/User/Preferences.sublime-settings
- Packages/
/ .sublime-settings - Packages/User/
.sublime-settings
通常情况下,你应该把你的配置放在Packages/User/Preferences.sublime-settings里。如果你要给特定的文件类型指定配置,比如,Python, 应该放在Packages/User/Python.sublime-settings文件中。
配置文件示例
试着把这些保存为Packages/User/Preferences.sublime-settings
{
"tab_size": 4,
"translate_tabs_to_spaces": false
}
单独语法配置
在每一种语法配置的基础上可以指定一些配置。通常用于根据文件类型指定不同语法高亮颜色方案。
可以通过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):
{
"keys": ["alt+w"],
"command": "toggle_setting",
"args":
{
"setting": "word_wrap"
}
}
set_setting命令可用于把一项setting设置为指定的value。比如,下面这项键盘绑定把当前文件的语法方案设置为Cobalt主题:
{
"keys": ["ctrl+k", "ctrl+c"],
"command": "set_setting",
"args":
{
"setting": "color_scheme",
"value": "Packages/Color Scheme - Default/Cobalt.tmTheme"
}
}
上面的这些配置修改是缓冲区的特定配置:它们会覆盖任何地方保存在配置文件里的配置,但是只对当前文件有效。
故障排除
由于配置可以放在多个不同的地方,如果要查看当前文件应用的某项配置,可以在控制台通过下面的语句来查看:
view.settings().get('font_face')
字体设置
概述
通过菜单Preferences/Settings - User,添加下面这行配置就可以修改字体:
"font_face": "Courier New",
"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
配置文件
配置文件将会按下面这个顺序应用:
- Packages/Default/Preferences.sublime-settings
- Packages/Default/Preferences (
).sublime-settings - Packages/User/Preferences.sublime-settings
- Packages/
/ .sublime-settings - Packages/User/
.sublime-settings
通常情况下,你应该把你的配置放在Packages/User/Preferences.sublime-settings里。如果你要给特定的文件类型指定配置,比如,Python, 应该放在Packages/User/Python.sublime-settings文件中。
配置文件示例
试着把这些保存为Packages/User/Preferences.sublime-settings
{
"tab_size": 4,
"translate_tabs_to_spaces": false
}
单独语法配置
可以在基础配置之上指定单独的语法配置。在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, 指定词典的路径。示例:
"spell_check": true,
"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个特殊包: Default
和User
。Default
优先顺序总是排在第一,User
优先顺序总是排在最后。包的优先顺序会影响包之间的文件合并,比如Main.sublime-menu
。任何包都可能会包含一个Main.sublime-menu
文件, 但是却不会覆盖掉主菜单,而是根据包顺序把这个文件进行合并。
Default
和User
之外的包按照字母顺序排序。
创建一个新的包
要创建一个新的包,只需要简单的在<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
文件放在改目录下即可。