sublime text代码中红色波浪线90%由sublimelinter等插件引发,非拼写检查所致;确认方式是看状态栏是否显示“spell check”,无则排除拼写问题,应排查插件或主题渲染。

Sublime Text 代码里出现的红色波浪线,90% 不是拼写检查干的——它默认根本没开。关 spell_check 可能完全无效,还让你误以为设置错了。
怎么确认红线真是拼写检查引起的
拼写检查唯一可靠的开启信号是状态栏右下角显示 Spell Check。没这个字样,就不是它;按 F6 能临时切换,但只对当前视图生效——如果关了 F6 还有红线,基本可以排除拼写检查。
- 切换到默认主题(
Preferences → Color Scheme → Default → Monokai),红线消失 → 是主题把invalid或未定义变量渲染成红波浪 - 打开命令面板(
Ctrl+Shift+P),运行Developer: Show Running Extensions,查有没有SublimeLinter、ESLint等活跃插件 - 新建一个纯文本文件(
File → New File,再Ctrl+Shift+P输入Set Syntax: Plain Text),打recieve:有波浪线 → 才可能是拼写检查;没波浪线 → 它压根没配好
真正该关的是 SublimeLinter 的红线
代码文件里的红线,绝大多数来自 SublimeLinter 或其子插件(如 SublimeLinter-eslint)。它们标的是语法错误、未定义变量、consol.log 这类问题,和拼写无关。
- 进
Preferences → Package Settings → SublimeLinter → Settings,把lint_mode改成"background"或"save",减少实时干扰 - 想彻底关红线?在同个设置里加:
"show_marks_in_minimap": false和"gutter_theme": "",再把"linters"下所有 linter 的"enable"设为false - 更轻量的做法:用快捷键
Ctrl+Shift+P输入SublimeLinter: Toggle Linting,临时禁用整个 Linter 系统
只在需要的地方关 spell_check(别全局乱动)
如果你确认状态栏有 Spell Check,且红线出现在 .md 或 .txt 中,才需要关拼写检查。关键点是:别动全局设置,去语法专属设置里关。
- 打开一个被标红的
.md或.txt文件 - 菜单选
Preferences → Settings – Syntax Specific(注意不是Settings) - 在右侧用户设置中删掉或注释掉这两行:
"spell_check": true和"dictionary": "Packages/Language - English/en_US.dic" - 保存后,状态栏
Spell Check字样会消失,红线也应同步消失
为什么改了 "spell_check": false 还有红线
常见原因不是配置没生效,而是你根本没找对源头:
-
editor.spellCheck是 VS Code 的配置项,Sublime Text 不识别——别抄错配置项名 - 某些旧版本 Sublime 在
spell_check为false时,仍会尝试加载dictionary路径,导致静默异常;删掉dictionary行再试 - 主题(如
ayu)把variable.other或entity.name.function渲染成红色波浪,这不是错误,只是视觉反馈;换回Monokai就能验证
最常被忽略的点是:拼写检查只作用于 text.plain、string.quoted、comment.line 这类 scope,而函数名、变量名属于其他 scope,本就不该被它标红——你看到的“拼写红线”,大概率是 Linter 报的未定义变量,或是主题画错了颜色。











