垂直对齐线分 rulers 和 indent_guide_options 两类:rulers 是按字符列数设置的参考线,indent_guide_options 控制缩进层级引导线;二者配置位置、格式、作用均不同,需分别在用户设置顶层正确配置。

垂直对齐线其实是 rulers 和 indent_guide_options 两回事
你搜“垂直对齐线”,Sublime 里实际对应两个独立功能:rulers 是按字符列数画的垂直参考线(比如第 80 列画一条虚线),而 indent_guide_options 控制的是缩进层级引导线(即每级缩进左侧那条竖线)。它们互不干扰,但常被混为一谈,配置错位置或写错名字就全白搭。
关键区别:rulers 是你主动指定列数的标尺,indent_guide_options 是 Sublime 自动根据缩进空格/TAB 数量推导出的视觉辅助线。前者靠数字数组,后者靠字符串数组,不能互相替代。
为什么写了 rulers 却看不到线
90% 不是功能坏了,而是配置没生效或被掩盖:
- 改错了地方:必须写在 Preferences → Settings – User 的 JSON 顶层,写在左侧
Settings – Default或某个语法专属文件(如Python.sublime-settings)里完全无效 - JSON 格式错误:复制粘贴时带了中文引号、全角逗号、末尾多逗号——打开控制台(
Ctrl+`)看有没有Invalid settings in …报错 - 主题把颜色设成透明:某些暗色主题(如 Dracula)默认把 ruler 线颜色压到不可见,临时切到
Monokai主题就能验证 -
"word_wrap": true开着,长行软换行后标尺线被挤出可视区,关掉再试 - 插件干扰:比如
TrailingSpaces或Origami会禁用 ruler 渲染,禁用后测试即可确认
怎么正确启用缩进引导线(Indent Guide)
这不是插件,是 Sublime 原生功能,但默认可能被压制:
- 确保
draw_indent_guides为true(v4.4+ 默认就是 true,但某些插件或主题会覆盖) -
indent_guide_options必须设为合法值:["draw_normal"](所有缩进层都画线)、["draw_active"](只高亮当前行所在层)、或两者都写:["draw_normal", "draw_active"] - 别写错格式:不是
"draw_normal, draw_active"(字符串),也不是["solid"](非法值),Sublime 会静默忽略整行 - 等宽字体是硬要求:用了
Microsoft YaHei或Helvetica这类非等宽字体,缩进线位置会偏移,尤其中英文混排时 - 缩进必须统一:混用 Tab 和空格会导致引导线断续或跳列,执行
Convert Indentation to Spaces再试
同时启用 rulers 和缩进引导线要分两步配
二者可以共存,但必须分别配置,且都放在用户设置的顶层:
-
rulers是整数数组,例如:"rulers": [79, 120]—— 表示在第 79 列和第 120 列画参考线 -
indent_guide_options是字符串数组,例如:"indent_guide_options": ["draw_normal", "draw_active"] - 注意逗号分隔,保存即生效,无需重启;但若之前因
word_wrap导致标尺不可见,需手动滚动或切换视图触发重绘 - 想让缩进线更醒目?得改当前 color scheme 文件里的
"scope": "indent_guide"和"scope": "activeGuide"颜色,不是改设置项
真正容易被忽略的是:rulers 按字符列数算位置,但前提是字体等宽、主题没把 guide 颜色设成透明、且没有插件在背后偷偷覆盖配置——这三处不检查,光调参数根本没用。











