sublime text 4+ 默认不显示行号,需在用户设置中设"line_numbers": true,并依次排查语法专属设置、主题、插件及全屏模式干扰;菜单路径为view→gutter→line numbers,快捷键ctrl+l/cmd+l可即时切换。

行号默认不显示,不是 Bug,是 Sublime Text 4+ 的默认设计。只要确认 line_numbers 设为 true 并排除高优先级覆盖,就能稳定显示。
怎么确认和设置全局行号开关
打开 Preferences → Settings,只看右侧「User Settings」面板,确保有且仅有这一行:
"line_numbers": true
常见失效原因包括:
-
line_number(少个s),JSON 键名必须完全匹配 - 整行被
//或/* */注释掉,Sublime 不解析注释内容 - 已有其他配置但末尾漏逗号,导致 JSON 解析失败,整段设置不生效
- 误改了左侧的 Default Settings —— 升级后会被重置,所有自定义必须写在右侧
改完务必按 Ctrl+S(Win/Linux)或 Cmd+S(macOS)保存,无需重启。
为什么菜单里找不到 Line Numbers?
Sublime Text 4.5+ 已将该选项移至 View → Gutter → Line Numbers。旧路径 View → Line Numbers 已不存在。
操作要点:
- 必须先打开一个文件,再点顶部
View - 鼠标悬停在
Gutter上,等待子菜单弹出(不是点击) - 检查
Line Numbers前是否有勾;没有就点一下,立即生效 - 这个操作只影响当前视图,关闭文件再打开会恢复为用户配置里的值
快捷键更高效:Ctrl+L(Win/Linux)或 Cmd+L(macOS)可即时切换,不改任何配置。
为什么设置了 true 还是没行号?优先级干扰源排查
Sublime 的 gutter 渲染受四层控制,低层设置会被高层覆盖。排查顺序不能乱:
- 先右键当前文件标签 →
Settings – Syntax Specific,检查是否含"line_numbers": false(如Packages/User/Markdown.sublime-settings)。这类设置优先级高于全局,删掉或清空即可 - 再切主题:
Preferences → Theme → Adaptive.sublime-theme。如果行号立刻出现,说明你用的 ayu、Material Theme 等主动隐藏了 gutter 区域 - 最后禁用插件:重点关掉
Origami、SideBarEnhancements这类直接操作 sidebar/gutter 的插件,用Ctrl+Shift+P → Package Control: Disable Package逐个验证
注意:Distraction Free Mode 或全屏(F11)下 gutter 本身被隐藏,和设置无关。
只想对 Markdown / JSON 关闭行号?别动全局
全局开行号,但写文档时觉得碍眼?用语法专属设置更干净:
- 打开一个
.md文件 →Preferences → Settings – Syntax Specific - 右侧添加:
"line_numbers": false
- 保存后仅该语法类型不显示行号,Python/JS 等不受影响
这个设置自动存为 Packages/User/Markdown.sublime-settings,容易被遗忘——下次发现 Markdown 没行号,第一反应不该是重装,而是去查这个文件。
真正卡人的不是“怎么开”,而是 gutter 这个区域太容易被覆盖:主题压窄它、插件透明化它、语法设置绕过它、全屏模式直接抹掉它。查的时候得一层层剥,从最表层的菜单开关开始,一直到底层的 CSS 渲染逻辑。











