sublime text 原生仅支持垂直标尺线(rulers),无 horizontal_rulers 等水平标尺配置;所有“水平标尺”说法均为误解或插件模拟,不可靠且无代码规范价值。

Sublime Text 原生只支持垂直标尺线(rulers),不提供水平标尺线功能;所谓“水平标尺”是误解或插件模拟效果,不可靠且无实际代码规范价值。
为什么找不到 horizontal_rulers 或类似设置
Sublime Text 的配置项中不存在 horizontal_rulers、h_rulers 或任何原生水平参考线字段。官方文档与所有内置 API 均未定义该能力。试图在 Preferences → Settings 中添加这类键值——比如 "horizontal_rulers": [20]——会被完全忽略,JSON 解析器甚至可能因未知字段报错(取决于 Sublime 版本)。
- 所有声称“开启水平标尺”的教程,实际都是在讲行号(
line_numbers)、折叠标记(fold_buttons)或状态栏坐标显示(show_encoding等),和标尺无关 - 极少数插件(如
LineEndings或自定义ViewEventListener)能用装饰 API 绘制横线,但位置固定、不随滚动同步、无法对齐具体行号,且容易被主题/缩进线遮盖 - 如果你真需要按行数做视觉分隔(比如函数间空 3 行),应靠代码格式化工具(如
black或prettier)统一处理,而非编辑器标尺
rulers 是唯一靠谱的长度提醒机制
垂直标尺线由 rulers 控制,它是一个整数数组,每个值代表从第 1 列开始计数的字符列位置。这是 Sublime 唯一稳定、轻量、无需插件的代码宽度提示方式。
- 写法必须是
"rulers": [79],不是"rulers": 79(非数组)、"rulers": "79"(字符串)或"rulers": [0](0不生效) - Python 项目推荐用
[79]严格对齐 PEP 8;前端项目常用[80, 120],兼顾可读性与宽屏编辑 - 设在语法专属设置里更合理:打开
Preferences → Settings – More → Syntax Specific – User,选 Python 后填{"rulers": [79]},避免 Markdown 或 JSON 文件也被干扰 -
rulers不触发换行、不染色、不警告——它只是线。要真正拦截超长行,得配SublimeLinter-flake8并设max-line-length=79
标尺线看不见?先查这三处而不是重装
改完 rulers 没反应,大概率不是配置错了,而是被其他层掩盖或禁用。
- 当前视图不是普通编辑区:命令面板(
Ctrl+Shift+P)、查找替换(Ctrl+H)、侧边栏或控制台里,rulers默认不渲染 - 主题把 guide 颜色设成透明:临时切回
Adaptive.sublime-theme或在配色方案里搜"guide",确认foreground不是#000000(黑底时看不见)或#ffffff(白底时消失) -
word_wrap开着且wrap_width被设为小值:软换行会把内容挤到左侧,导致标尺线移出可视区。关掉它:"word_wrap": false或删掉wrap_width字段
真正难的是让团队所有人用同一套 rulers 值,又不强制他们改本地设置——这时候得靠项目级配置(Project → Edit Project 里加 "settings": {"rulers": [79]})和 CI 流水线里的 linter 双保险。光靠一条虚线,拦不住手快的同事。











