sublime text 中缩进引导线(indent guide)默认开启,需确保 "indent_guide_options": ["draw_normal", "draw_active"] 且使用等宽字体;rulers 是垂直参考线,需在 settings – user 中配置 "rulers": [79, 120],二者互不干扰但须正确配置。

Sublime Text 没有叫 “IndentGuide” 的原生功能,也不存在“垂直对齐线”这个官方术语——你真正想设的,是 rulers(垂直参考线),它按字符列数画虚线,用于提示代码行宽;而缩进引导线(即显示缩进层级的竖线)是另一个东西,叫 indent_guide_options,两者常被混淆。
怎么开启缩进引导线(Indent Guide)
缩进引导线是 Sublime 显示 tab 或空格缩进层级的浅色竖条,不是 rulers。它默认开启,但可能被主题、配色或设置压制:
- 确认没关掉:
"indent_guide_options": ["draw_normal", "draw_active"]是推荐值;若设为[]或删了该键,则不显示 - 某些暗色主题(如 Afterglow、Dracula)会把引导线颜色设成透明或太淡——临时切到
Monokai主题验证是否真消失 - 如果用了非等宽字体(如
Microsoft YaHei),缩进视觉会错位,引导线位置也不准,必须换回Consolas、Fira Code等等宽字体 - 检查是否误启用了
"translate_tabs_to_spaces": false且混用 tab/空格:混合缩进会导致引导线断续或跳列
为什么写了 rulers 却看不到线
90% 不是功能失效,而是配置没落对地方或被掩盖:
- 改错了位置:必须写在
Preferences → Settings – User的 JSON 中,左侧Settings – Default是只读的,改了无效 - 写进了语法专用文件(如
Python.sublime-settings),但当前文件不是 Python 类型,配置不命中 - 复制粘贴带中文引号、全角逗号或末尾多逗号,JSON 解析失败——打开控制台(
Ctrl+`)看是否有Invalid settings in …报错 - 启用了
"word_wrap": true,长行软换行后,标尺线被挤出可视区;关掉软换行再观察 - 插件干扰:比如
TrailingSpaces或Origami会禁用 ruler 渲染,禁用后测试即可验证
如何同时启用 rulers 和缩进引导线
二者互不冲突,但需分别配置:
-
rulers是数组,单位为字符列数(从 1 开始),例如:"rulers": [79, 120] -
indent_guide_options是字符串数组,控制绘制行为,例如:"indent_guide_options": ["draw_normal", "draw_active"] - 二者都必须放在
Preferences → Settings – User的顶层 JSON 对象内,注意逗号分隔 - 保存即生效,无需重启;已打开文件实时更新,但若之前因
word_wrap导致标尺不可见,需手动滚动或切换视图触发重绘
容易被忽略的关键点
缩进引导线的位置取决于当前缩进方式(tab width 或 space size),而 rulers 完全按屏幕字符列数计算——这意味着:中英文混排、全角字符、emoji 或制表符宽度变化时,rulers 仍按 1 字符 = 1 列算,但视觉上可能“偏移”;这不是 bug,是设计使然。如果你依赖精确列对齐做代码审查,务必统一使用等宽字体 + 纯空格缩进,并关闭 word_wrap。











