sublime text 的垂直参考线需用 rulers 实现,如 "rulers": [80, 100];indent_guide_options 仅响应缩进层级,不支持绝对列定位,且受 tab_width、空格/tab 混用及 detect_indentation 影响。

Sublime Text 的“编辑器边框线”就是 guide,它不靠“边框线位置”配置,而是通过 draw_white_space 和 indent_guide_options 控制显示逻辑;真正决定参考线列数的,是 tab_width 和缩进实际空格数,不是随便填个数字就能生效。
怎么让垂直参考线(indent guide)出现在指定列数?
Sublime 不支持“在第 80 列画一条固定竖线”,它的 indent_guide_options 只响应缩进层级,不是绝对列位置。想实现类似效果,得靠 margin + rulers。
-
rulers是唯一能按列数画竖线的机制,写在用户设置里:"rulers": [80, 100]
- 该设置只影响当前视图,项目级需在
.sublime-project中配rulers - 如果开了
translate_tabs_to_spaces,rulers按真实字符位置计算,Tab 就算一个字符(不是 4 个空格) - 关闭
draw_indent_guides可避免缩进线和 ruler 重叠干扰视觉
为什么改了 tab_width,参考线没对齐预期列数?
因为 indent_guide_options 显示的是缩进层级线,不是列坐标。比如 tab_width: 4,每缩进一级就画一条线,但这条线的位置取决于你这一行开头到底有几个空格或 Tab —— 它不校验是否“整除 4”。
- 若混用空格和 Tab,
indent_guide_options会失效或错位(Sublime 默认不强制统一) - 检查当前文件是否启用了
detect_indentation:开启时,文件首段缩进会覆盖全局tab_width - 想强制对齐,先执行
Convert Indentation to Spaces,再设tab_width: 4,并打开detect_indentation关闭
rulers 显示异常或不出现?常见原因
不是所有主题都渲染 rulers,也不是所有语法高亮模式都兼容。尤其在启用 mini_diff 或某些 Git 插件时,ruler 可能被遮挡或禁用。
- 确认设置已写入
Preferences → Settings – User,且 JSON 格式合法(末尾无逗号、引号闭合) - 部分 UI 主题(如
Adaptive.sublime-theme)默认隐藏 ruler,需在主题文件中加"rulers"相关规则 - 如果只在某类文件里看不到,检查该语法定义是否覆盖了
view_settings,例如某些 Markdown 插件会重置rulers - 命令面板运行
Set Ruler可临时添加,用于验证是否是配置问题
真正麻烦的点在于:ruler 是视觉辅助,indent guide 是结构辅助,它们底层触发逻辑完全不同。想靠一个配置同时搞定“对齐列数”和“反映缩进层级”,得接受二者本质不兼容——要么用 rulers 做硬性标尺,要么用 indent_guide_options 做语义提示,别指望它自动换算成 80 列。











