在 sublime text 中通过用户设置添加 “rulers”: [80] 可显示第 80 列的竖线作为代码宽度参考,支持多值如 [80, 120],但需确认未被语法或项目设置覆盖,且主题未隐藏该线。

怎么在 sublime text 里加一条竖线表示代码宽度限制
Sublime Text 默认不显示右侧限制线,但可以通过 rulers 设置实现。这不是“改编辑器宽度”,而是叠加一条视觉参考线,提醒你别把一行写太长。
常见错误是去调 width 或 viewport_width —— 这些配置根本不存在或无效;真正起作用的是 rulers,它只控制标尺位置,不影响实际编辑区域大小。
- 打开
Preferences → Settings(左右两栏,改右边的用户设置) - 加入这一行:
"rulers": [80](数字单位是字符数,不是像素) - 保存后,编辑区右侧会出现一条浅灰色竖线,对齐第 80 列
- 支持多个值,比如
[80, 120]会画两条线
为什么设了 rulers 却没看到线
最常见原因是:当前视图被设置了局部覆盖(比如某个项目或文件类型单独禁用了 rulers),或者主题/配色方案把线颜色压得太淡,几乎看不见。
检查顺序建议:
- 确认你改的是 用户设置(User Settings),不是默认设置(default Settings)
- 检查有没有在
Preferences → Settings – Syntax Specific里为当前语言写了"rulers": [],这会清空全局设置 - 换一个主题试试(比如原生的
Adaptive),有些自定义主题把ruler颜色设成了透明或背景色 - 重启 Sublime —— 设置有时不会热更新 ruler 显示
rulers 和自动换行、格式化工具的关系
rulers 纯属视觉提示,和代码行为完全无关:它不触发换行、不干预保存、也不影响 black、prettier 等格式化工具的判断逻辑。
但容易混淆的点在于:
- VS Code 用户习惯用 ruler 配合“自动在 ruler 处换行”,Sublime 没这个功能,得靠插件(如
Wrap Plus)或手动Ctrl+Shift+Q - 如果用
auto_indent或detect_indentation,ruler 不会影响缩进逻辑 - 导出 PDF 或打印时,ruler 线默认不出现;要保留参考线,得截图或用插件生成带标尺的图片
不同语言/项目下怎么差异化设置宽度
Sublime 支持按语法或项目单独设 rulers,比全局一刀切更实用。比如 Python 社区常用 79,Go 常用 120,Shell 脚本可能更宽松。
- 对当前文件类型生效:打开一个
.py文件 →Preferences → Settings – Syntax Specific→ 加"rulers": [79] - 对整个项目生效:在项目设置(
Project → Edit Project)的settings字段里加"rulers": [100] - 注意:项目设置优先级高于语法设置,语法设置又高于用户设置
- 路径中含空格或特殊字符不会影响 ruler 生效,但 json 格式必须严格(逗号、引号、括号)
实际用的时候,最常被忽略的是语法/项目级设置的覆盖关系——你以为设了 80,结果打开 Python 文件发现线在 79,八成是 Settings – Syntax Specific 里悄悄写了别的值。