Sublime Text 拼写检查语言由 spelling_language 设置项控制,需使用 ISO 标准代码(如 en_US、zh_CN),依赖对应词典文件(.dic + .aff),且必须置于指定路径、UTF-8 无 BOM 编码;可通过语法特定设置或自定义插件实现按文件类型自动匹配或快捷键轮换。

Sublime Text 本身不提供一键切换拼写检查语言的快捷键或菜单项,但可以通过修改 settings 中的 spelling_language 值实现快速切换——关键在于把语言配置做成可批量替换的预设,而非每次手动编辑 JSON。
拼写检查语言由 spelling_language 控制,不是系统语言或文件语法
Sublime 的拼写检查完全依赖 spelling_language 设置项,和当前文件的 scope(如 source.python)或操作系统语言无关。它只认形如 en_US、zh_CN、fr_FR 这样的 ISO 标准代码,且必须对应已安装的词典文件(.dic + .aff)。
-
spelling_language默认值是null,此时使用平台默认(通常为英文),不是自动识别内容语言 - 词典文件需放在
Packages/User/Spelling/或Packages/Spelling/下,否则设置无效 - 修改后无需重启,但需触发一次拼写重载:保存设置文件或执行
view.run_command("toggle_spelling")
用 Preferences → Settings – Syntax Specific 按文件类型绑定语言
多语种写作时,最实用的方式不是全局切换,而是按文件后缀或语法自动匹配语言。比如 .md 写中文就用 zh_CN,写英文技术文档就用 en_US。
- 打开一个 Markdown 文件 →
Preferences → Settings – Syntax Specific - 在右侧添加:
{ "spelling_language": "zh_CN" } - 保存后,所有
.md文件都会自动启用中文拼写检查,无需手动干预 - 同理,对
Plain Text或reStructuredText语法也可单独配置
用命令行或插件实现真正“快速切换”
如果真需要键盘触发切换(例如中/英/日三语轮换),得靠自定义命令。官方无内置支持,但可用 sublime_plugin.TextCommand 实现:
- 新建
Packages/User/toggle_spelling_lang.py,内容为import sublime import sublime_plugin
class ToggleSpellingLangCommand(sublime_plugin.TextCommand): def run(self, edit): view = self.view langs = ["en_US", "zh_CN", "ja_JP"] current = view.settings().get("spelling_language", "en_US") try: idx = langs.index(current) next_lang = langs[(idx + 1) % len(langs)] except ValueError: next_lang = langs[0] view.settings().set("spelling_language", next_lang)
强制刷新拼写面板
view.run_command("toggle_spelling") view.run_command("toggle_spelling") - 绑定快捷键:在
Preferences → Key Bindings中加[ { "keys": ["ctrl+alt+s"], "command": "toggle_spelling_lang" } ] - 注意:切换后需调用两次
toggle_spelling才能刷新 UI,这是 Sublime 拼写模块的已知行为
真正容易被忽略的是词典文件的编码与路径——zh_CN.dic 必须是 UTF-8 无 BOM,且不能放在子文件夹里;一旦路径错或编码错,spelling_language 设再对也静默失败,界面毫无提示。










