Sublime Text的“垂直对齐线”实为rulers(字符列标尺)和indent_guide_options(缩进引导线)两个独立功能;前者依赖用户设置顶层rulers数组与纯文本环境,后者需draw_indent_guides为true、含"draw_normal"且缩进统一才显示。

Sublime Text 里所谓“垂直对齐线”实际是两个完全独立的功能:rulers(垂直参考线)和 indent_guide_options(缩进引导线),混淆它们是 90% 显示失败的根源。
怎么确认缩进引导线真没开,还是只是看不见
缩进引导线默认不显示,必须同时满足三个条件才可能看到:draw_indent_guides 为 true、indent_guide_options 包含 "draw_normal"、当前文件缩进统一。常见假“失效”现象:
- 右下角显示
Tab Width: 4但旁边没写Spaces→ 实际用了 Tab,混用空格后引导线断续或跳列 - 主题把引导线颜色设成透明(如 Dracula 某些变体)→ 切到
Monokai主题立刻验证是否真消失 - 文件是 JSON 或 Markdown,且
detect_indentation被关了 → 这类语法默认不触发缩进检测,需手动开启或转为空格缩进 - 开了
word_wrap且长行软换行 → 引导线只画在首行,续行顶格显示,误以为“没线”
rulers 垂直参考线为什么写了 [80] 却没反应
rulers 是纯视觉标尺,单位是字符列数(从第 1 列起),但它极其依赖配置落点和环境状态:
- 必须写在 Preferences → Settings – User 的顶层 JSON 里,写进
Python.sublime-settings或左侧 Default 是无效的 - 复制粘贴时带了中文引号、全角逗号、末尾多逗号 → 打开控制台(
Ctrl+`)看是否有Invalid settings in …报错 - 启用了
word_wrap: true→ 标尺线被挤出可视区,关掉软换行再观察 - 插件干扰:比如
TrailingSpaces或Origami会主动禁用 ruler 渲染,临时禁用即可验证
缩进引导线和 rulers 能不能共存
能,而且推荐一起用,但必须分开配、各自生效:
-
rulers控制垂直参考线位置,例如:"rulers": [79, 120] -
indent_guide_options控制缩进线绘制行为,例如:"indent_guide_options": ["draw_normal", "draw_active"] - 两者都得放在用户设置的顶层,且中间用英文逗号分隔,不能嵌套或写错层级
- 改完保存立即生效,但已打开的文件若之前因
word_wrap导致标尺不可见,需手动滚动或切换 Tab 触发重绘
真正容易被忽略的是:缩进引导线依赖缩进一致性,而 rulers 完全不管缩进——哪怕你全用 Tab,rulers 照样按字符列画线;但只要缩进混用,indent_guide_options 就会“失焦”。别指望一条配置通吃所有文件类型,Python 项目设 [79],JS 项目设 [100],才是实际工作流里最稳的做法。


















