垂直参考线必须手动添加到Preferences → Settings – User的JSON中,格式为"rulers": [80];常见失效原因包括误改Default设置、写入语法专用文件、JSON语法错误、主题隐藏线条或启用word_wrap导致标尺不可见。

垂直参考线(Rulers)必须手动写进 Preferences → Settings – User 的 JSON 里,填 "rulers": [80] 这种格式,否则根本不会出现——它不是菜单开关,也不是插件功能,更不随语法高亮自动启用。
为什么改了设置却看不到标尺线
90% 的“失效”其实是配置没落对地方或被视觉掩盖:
- 误改了左侧
Settings – Default(只读,改了也白改) - 把
"rulers": [80]写进了Python.sublime-settings之类语法专用文件,但当前文件不是 Python 类型 - 复制粘贴时混入中文引号、全角逗号或末尾多了一个逗号,导致整个 JSON 解析失败——打开控制台(
Ctrl+`)会看到Invalid settings in …报错 - 当前主题把标尺颜色设成透明或与背景同色(比如某些暗色主题),换回
Monokai或Default主题立刻能验证 - 启用了
word_wrap且折行严重,标尺线被挤出可视区域,关掉软换行再看
怎么正确添加 rulers 配置
关键就三步,缺一不可:
- 打开
Preferences → Settings,确保光标落在右侧「User」面板(不是左侧 Default) - 在顶层 JSON 对象内加一行:
"rulers": [80](注意:是数字数组,不是字符串;哪怕只设一个值也要带方括号) - 保存文件——立刻生效,不用重启 Sublime,已打开的文件也会实时更新
想同时显示两条线?写成 "rulers": [79, 120] 就行。数值按升序排列,Sublime 从左到右依次画线。
按语言或项目单独设标尺更实用
全局统一设 [80] 很难适配所有场景。PEP 8 要求 Python 行宽 ≤ 79,但 JS 常用 [100],JSON 或 Markdown 可能放宽到 [120]:
- 针对当前语言:菜单选
Preferences → Settings – More → Syntax Specific – User,状态栏确认语言类型(如 Python),然后填{"rulers": [79]} - 针对当前项目:在
.sublime-project文件的"settings"下加"rulers": [100],只对该工作区生效 - 语法级设置优先级 > 项目级 > 全局,但已打开的文件需重新加载或切换语法再切回来才生效
rulers 的底层逻辑和常见误解
它不是像素定位,而是按「字符列数」算位置:空格、制表符、英文、中文都算 1 列。但前提是字体得是等宽的——如果用了 Microsoft YaHei 或 Helvetica 这类非等宽字体,标尺就会视觉偏移,尤其中英文混排时。
另外,rulers 纯属视觉提示,不阻止你敲超长行,也不标红、不报错、不触发任何事件。真要约束行为,得靠 black、prettier 或 linter 插件配合。别指望它代替代码规范检查。











