红色波浪线90%是sublimelinter或eslint报错,仅当状态栏显示“spell check”且按f6后红线消失,才是拼写检查所致;应通过syntax specific设置禁用spell_check,而非全局配置。

Sublime Text 里代码文件的红色波浪线,90% 不是拼写检查惹的祸——而是 SublimeLinter 或 ESLint 插件在报错。但如果你确认红线出现在注释、字符串或 Markdown 文件里,且状态栏右下角显示 Spell Check,那才是拼写检查真正在工作。关错地方不仅没用,还可能掩盖真实语法问题。
怎么确认红线真是拼写检查导致的
别猜,直接验证:
- 看状态栏右下角:只有出现
Spell Check字样,才说明是它在标红 - 按
F6:临时开关拼写检查,如果按完红线消失,基本可锁定 - 新建一个纯文本文件(
File → New File,再Ctrl+Shift+P输入Set Syntax: Plain Text),输入明显错词如recieve—— 有红线才是拼写检查生效;没红线,说明根本没配好,或者压根不是它干的 - 切换到默认主题(
Preferences → Color Scheme → Default → Monokai):如果红线没了,大概率是当前主题把未定义变量渲染成红波浪,和拼写无关
只对 Python/JS 等代码文件禁用 spell_check
关键不是全局关,而是按语法类型单独关。改错配置文件等于白忙活:
- 打开一个
.py文件(或任意你希望关闭拼写的代码文件) - 菜单选
Preferences → Settings – Syntax Specific(注意不是Settings) - 右侧用户设置中加一行:
"spell_check": false - 保存后,所有新打开或重载的
.py文件立即生效 - 如果已有
"spell_check": true,直接改成false;没有就手动加,注意 JSON 格式:末尾不能多逗号,引号必须是英文双引号
为什么改 Preferences.sublime-settings 没用
因为 spell_check 是按作用域继承的。全局设置(Preferences.sublime-settings)只是 fallback,一旦某语法有专属配置(比如 Python.sublime-settings),就会被覆盖。很多人改了全局却不见效,就是因为 Python.sublime-settings 里没设,它就沿用默认 true,而你根本没动它。
查法很简单:打开 Preferences → Settings – Syntax Specific 后,在右侧搜 spell_check。存在就改值;不存在就加行。别碰 editor.spellCheck 这种 VS Code 风格的配置项——Sublime 不认。
真正该关的是 Linter 插件的红线
如果你在 .js 或 .py 里看到红线,八成是 SublimeLinter 在报 consol.log 或未定义变量。这不是拼写问题,关 spell_check 完全无效:
- 进
Preferences → Package Settings → SublimeLinter → Settings - 把
"lint_mode"改成"save"减少实时干扰 - 想彻底关红线:加
"show_marks_in_minimap": false和"gutter_theme": "" - 更轻量做法:
Ctrl+Shift+P输入SublimeLinter: Toggle Linting,一键临时关闭整个 lint 系统
最常被忽略的点:状态栏没 Spell Check 却硬去调 spell_check 设置,等于在修一台没开的空调——动作做了,问题还在那儿。











