Sublime Text行号不显示的排查指南:不是“没开”,而是“被覆盖”
先说结论:Sublime Text默认就是显示行号的。你遇到的“行号突然消失”或者“怎么调都不出来”,基本不是开关没打开,而是设置层面出现了优先级冲突或隐藏故障。

行号没显示,大多数人以为是自己关掉了——其实不然。常见的原因就那么几个,我们从头梳理一遍,从最常见到最隐蔽,一步步排查。
检查用户设置:确认line_numbers为true
首先打开 Preferences → Settings,这时候关键的是右侧的“User Settings”面板。这是你自定义配置的汇总区,它决定了大部分行为。
确保里面有且仅有这一行:
"line_numbers": true
常见错误有三个:
- 拼写错了,写成
"line_number": true(少了个s,键名不匹配,Sublime直接忽略) - 整行被注释了,像
// "line_numbers": false,注意Sublime不解析注释,注释掉就等于没写 - 上下文的JSON语法错误——比如前一行漏了逗号,导致整个
Settings文件解析失败,所有配置都失效
修改完后保存即可生效,无需重启。如果问题依旧,说明故障出在更深的层级。
新版v4.5+的菜单路径:View → Gutter → Line Numbers
很多人在新版Sublime Text 4+上栽跟头,是因为菜单路径变了。旧版 View → Line Numbers 的直接入口,在v4.5之后被挪到了子菜单里。
正确的操作:
- 打开任意文件,点顶部菜单
View - 悬停在
Gutter上,等子菜单展开 - 查看
Line Numbers前面是否有对勾。没有的话,点一下
这一步是临时开关,不改任何配置文件,适合快速验证。如果点完行号就出来了,说明你本地设置文件里的 line_numbers 配置被覆盖或失效了。
排查语法专属设置:Markdown.sublime-settings等
Sublime Text有个烦人的优先级机制:语法专属设置的优先级高于全局的用户设置。常见场景是,你在写Markdown时关过行号,Sublime自动在 Packages/User/ 下创建了 Markdown.sublime-settings,里面写的是 "line_numbers": false。于是,每次打开Markdown文件,全局的 true 就被覆盖成了 false。
解决方式也很简单:
- 打开一个Markdown文件
- 执行
Preferences → Settings – Syntax Specific - 删掉文件里的
"line_numbers": false,或者直接清空整个文件(等于恢复默认)
同理,如果你发现只在 .json、.yml、.py 等特定文件类型里行号消失,就去对应类型的语法专属设置里查。
主题或插件“物理隐藏”了gutter区域
这是最隐蔽、也最让人头疼的一类。有些主题或插件(比如 ayu、Material Theme,或者 Origami、旧版 SideBarEnhancements),会通过CSS把编辑器左侧的 gutter 区域压窄、透明化,甚至彻底移除——哪怕你在设置里写了 line_numbers: true,也没地方展现了。
临时验证方法:
- 执行
Preferences → Theme → Adaptive.sublime-theme,切换到Sublime原生的默认主题 - 看行号是否立刻出现
如果恢复了,说明就是主题在捣鬼。别去手动改 .sublime-theme 文件,那不靠谱,直接换到兼容版本或另一个主题更省力。插件排查则建议逐个禁用,重点怀疑那些动过 sidebar、gutter 区域的插件。
说到底,Sublime Text行号显示这件事,真正的难点从来不是“怎么打开”,而是“为什么明明开了却不显示”。设置优先级、主题隐藏、全屏模式(F11)、Distraction Free Mode——这些干扰因素,比配置本身更常被忽略。照着上面的顺序走一遍,基本都能解决。