sublime text仅支持垂直标尺线(rulers),不提供水平标尺功能;它纯属视觉提示,用于标记字符列位置,不干预编辑、不自动换行、不校验长度,且配置项仅接受如[79, 120]格式的整数数组。

Sublime Text 没有水平标尺线功能,只支持垂直标尺线(rulers),且它纯属视觉提示,不干预编辑、不自动换行、不校验长度。
为什么找不到“水平标尺”选项
Sublime Text 原生不提供水平方向的标尺线。所谓“水平标尺”,在用户搜索中常是误传或混淆了其他编辑器(如 VS Code 的 ruler extension 或某些 IDE 的行号/折叠指示区)。Sublime 的 rulers 配置项只接受整数数组,含义是「第 N 列位置的垂直参考线」,没有 h_rulers、horizontal_rulers 或任何类似字段。
如果你看到插件声称支持水平标尺,基本是以下情况之一:
- 把代码折叠区域、行号栏或状态栏误认为“标尺”
- 插件实际绘制的是自定义 UI 元素(如用
view.add_regions()模拟线条),但稳定性差、不随滚动同步、易被主题覆盖 - 配置项名仿冒(如
"hruler": true),但 Sublime 核心完全忽略该字段
rulers 必须写在用户设置里,且格式不能错
垂直标尺线生效的前提是:配置写对位置、写对格式、写对类型。
常见失效原因和对应操作:
- 写在了左侧
Default Settings面板 —— 无效,必须写在右侧Preferences → Settings – User - 用了字符串或数字而非数组:
"rulers": 80或"rulers": "80"都不会生效;正确写法只能是"rulers": [80]或"rulers": [79, 120] - 前面已有配置但漏了逗号:
"font_size": 13"rulers": [79]会因 JSON 语法错误导致整个设置失效;应写成"font_size": 13,"rulers": [79] - 复制时混入中文引号、全角空格或 BOM 头 —— 保存后控制台(
Ctrl+`)会报Invalid settings in …
Python 项目该设 [79] 还是 [80]?
PEP 8 明确要求「行宽不超过 79 字符」,不是 80。这是因为部分终端、diff 工具会在行首加符号(如 +、-)或行尾补空格,占掉 1 列有效宽度。Sublime 的列计数从第 1 列开始,[79] 才是对齐第 79 个字符位置的严格实现。
如果你同时维护 Python 和前端项目,推荐用多值数组:
-
"rulers": [79, 120]:Python 用左线,JS/HTML/CSS 用右线 - 更精细的做法是用语法专属设置:打开
Preferences → Settings – Syntax Specific,在Python.sublime-settings中单独写"rulers": [79] - 注意:语法专属设置优先级高于全局
rulers,但只对匹配的文件类型生效
标尺线显示不出来?先查这三处
写了 "rulers": [79] 却看不到线,大概率不是功能问题,而是被掩盖或未命中:
- 当前文件没在编辑区焦点内(比如正处在查找面板、命令面板、侧边栏或构建输出窗口)——标尺只渲染在普通文本视图
- 主题把标尺颜色设成透明或与背景同色(如某些暗色主题的
guide层级颜色太淡)——临时切换到Default主题验证 - 启用了
word_wrap: true且wrap_width设得过小,导致软换行严重挤压可视区,标尺线被推到右侧不可见区域——关闭软换行再试
标尺线本身不依赖等宽字体,但在非等宽字体下,字符宽度不一,视觉对齐会有偏差;若你靠标尺做精确排版(如 ASCII 表格),务必使用等宽字体(如 Fira Code、JetBrains Mono)。











