行号真正显示需确认三层设置:用户设置中"line_numbers": true(拼写与布尔值正确)、语法专属设置无覆盖、主题/插件未隐藏gutter;标尺线需在User Settings中配置"rulers": [80],并排除主题透明色、word_wrap干扰及非等宽字体影响。

行号和标尺都能开,但必须分两步配,且各自有优先级陷阱——不是写对了就一定显示。
怎么让行号真正显示出来
Sublime Text 4+ 默认不显示行号,光靠菜单勾选可能被覆盖。关键得确认三层设置:
- 用户设置里必须有
"line_numbers": true,不能拼错成"line_number"或写成false - 当前文件的语法专属设置(右键 → Settings – Syntax Specific)里不能有
"line_numbers": false——这个优先级高于全局设置,一存在就屏蔽所有行号 - 主题或插件可能直接隐藏 gutter 区域,比如 ayu 或 Origami;临时切回
Adaptive.sublime-theme可快速验证
快捷键 Ctrl+L(Windows/Linux)或 Cmd+L(macOS)能即时切换,但只是临时开关,不改配置文件。
为什么写了 rulers 却看不到标尺线
"rulers": [80] 不是“开启功能”,而是往 JSON 里加一条视觉锚点规则。它失效通常不是代码问题,而是环境干扰:
- 改的是左侧
Default Settings(只读),必须改右侧User Settings - 当前配色方案把标尺颜色设成透明或接近背景色,换
Monokai主题立刻可见 -
"word_wrap": true开启软换行后,标尺线会被挤出可视区,建议设为false或"auto" - 字体不是等宽字体(如
"font_face": "Helvetica"),标尺按字符数定位,视觉必然错位
如何按语言单独设标尺(比如 Python 用 79 列)
全局 rulers 不够灵活,Python 要求 79,Go 常用 120,就得用更高优先级的语法专属设置:
- 打开一个
.py文件,确保状态栏显示Python - 菜单 Preferences → Settings – Syntax Specific
- 在弹出的
Python.sublime-settings中写入:"rulers": [79] - 保存后仅该语言生效;已打开的文件需重新加载或切换语法再切回来才更新
项目级设置也可在 .sublime-project 的 "settings" 字段里加 "rulers": [120],优先级介于语法设置和全局设置之间。
标尺线到底起什么作用
它只是视觉参考,别指望它干预编辑:
- 不阻止你输入超长行,不自动换行,不报错,也不和
word_wrap耦合 - 数值单位是「字符列数」,从 1 开始计,
[80]表示第 80 个字符位置的竖线 - 多值如
[79, 99]会显示两条线,位置由数值大小决定,超出屏幕宽度的值不会显示
真正限制行宽得靠 linter 插件(比如 SublimeLinter-flake8 配 max-line-length),标尺本身不校验、不 enforce、也不高亮超限部分。











