Sublime Text 中代码下方的红色波浪线90%不是拼写检查引起——默认未开启,唯一可信信号是状态栏右下角显示“Spell Check”;若无此字样或F6切换后红线仍在,基本可排除拼写检查,真实源头多为SublimeLinter等插件或主题渲染问题。

Sublime Text 里代码下方的红色波浪线,90% 不是拼写检查引起的——它默认压根没开。关 spell_check 可能完全无效,还让你误以为设置错了。
怎么确认红线真是拼写检查导致的
拼写检查唯一可信的开启信号是状态栏右下角显示 Spell Check。没这个字样,就不是它;按 F6 能临时切换当前视图,但只对已启用拼写检查的文件生效。如果点了 F6 或点击状态栏的 Spell Check 后红线还在,基本可以排除拼写检查。
验证步骤如下:
- 新建一个纯文本文件(
File → New File),再按Ctrl+Shift+P输入Set Syntax: Plain Text - 在里面输入明显错词,比如
recieve或definately - 有波浪线 → 才可能是拼写检查在起作用;没波浪线 → 它根本没配好,或被其他机制覆盖
- 临时切换到默认主题(
Preferences → Color Scheme → Default → Monokai),看红线是否消失:如果没了,大概率是主题把invalid或未定义变量渲染成了红波浪
只在需要的地方关 spell_check,别全局乱动
全局关掉 spell_check 看似省事,但会同时干掉 Markdown、.txt 文档里的拼写提示,得不偿失。真正该做的是按语法类型精准控制。
操作路径必须严格区分:
- 打开一个被标红的
.md或.txt文件(确保右下角状态栏显示对应语法) - 菜单选
Preferences → Settings – Syntax Specific(注意不是Settings) - 在右侧用户设置中删掉或注释掉这两行:
"spell_check": true和"dictionary": "Packages/Language - English/en_US.dic" - 保存后,状态栏 Spell Check 字样应立即消失,红线也同步消失
如果你写 Python 或 JS 时不想被干扰,但写文档时仍需拼写提示,就在 .py 文件里执行同样操作——Preferences → Settings – Syntax Specific,加一行 "spell_check": false 即可。
真正该关的是 SublimeLinter 的红线
代码文件里绝大多数红线来自 SublimeLinter、SublimeLinter-eslint 或 ESLint 插件,它们标的是 consol.log、未定义变量、语法错误等,和拼写检查无关。
排查与关闭建议:
- 打开命令面板(
Ctrl+Shift+P),运行SublimeLinter: Toggle Linting,临时禁用整个 Linter 系统 - 进
Preferences → Package Settings → SublimeLinter → Settings,把"lint_mode"改成"save"或"background",减少实时干扰 - 想彻底隐藏红线?在同个设置里加:
"show_marks_in_minimap": false、"gutter_theme": "",再把"linters"下所有 linter 的"enable"设为false
别碰 editor.spellCheck 这种字段——那是 VS Code 的配置,Sublime Text 完全不识别。
为什么改了 "spell_check": false 还有红线
常见原因不是配置没生效,而是你根本没找对源头:
-
SublimeLinter或ESLint正在后台运行,且 lint 规则里包含拼写类检查(如no-console误报consol.log) - 主题(如
ayu、Dracula)把invalid作用域渲染成红色波浪线,实际是语法解析失败或变量未声明 - 写了
"dictionary": "xxx"但spell_check是false,旧版 Sublime 可能仍尝试加载词典并静默出错 - 项目专属设置(
Project → Edit Project中的settings块)覆盖了用户设置
最可靠的验证方式:切到 Monokai 主题 + 关掉所有 Linter 插件 + 新建 Plain Text 文件测试错词。拼写检查本身逻辑极简,难的是把它从一堆视觉干扰里揪出来。

















