必须在preferences → settings – user右侧面板添加"rulers": [79]等整数数组,确保格式正确、改的是user设置、主题可见且禁用word_wrap,python推荐79列以符合pep 8规范。

怎么在用户设置里加 rulers 数组
Sublime Text 的标尺线完全由 rulers 这个配置项控制,它只接受数字数组,比如 [79] 或 [79, 120]。打开 Preferences → Settings,确保只改右侧「User」面板,在 JSON 对象顶层添加这一行:
"rulers": [79]
注意三点:
-
rulers值必须是数组,"rulers": 79或"rulers": "79"都无效 - 多个值用逗号分隔,如
[79, 120],会同时显示两条线 - 保存后立即生效,不用重启;如果没反应,先按
Ctrl+`看控制台有没有Invalid settings in …报错
为什么 Python 要设 [79] 而不是 [80]
PEP 8 明确写的是「行宽不超过 79 字符」,不是 80。因为部分终端、diff 工具会在行首/行尾额外占 1 列,Sublime 的 rulers 从第 1 列开始计数,[79] 才是对齐第 79 个字符位置的严格实现。
设 [80] 表面整齐,实际已超规 1 字符。如果你用 black 或 flake8 校验,它们报错的位置会和标尺线错开一列——这就是最典型的“看着对,其实错”。
怎么让标尺只在 Python 文件里出现
全局设 rulers 会影响所有文件类型,比如 Markdown 或 JSON 里显示 79 列线反而碍事。更稳妥的做法是走语法专属设置:
- 打开一个 Python 文件
- 右下角状态栏点击当前语法(如
Python)→ Settings – More → Syntax Specific – User - 填入:
{"rulers": [79]}
这样只有 Python 文件加载时才读这个配置,其他语言不受干扰。同理,JavaScript 项目可设 [100],Shell 脚本可设 [120]。
标尺线不显示?优先查这三处
90% 的“加了没反应”不是配置错,而是被覆盖或隐藏:
- 确认改的是
Preferences.sublime-settings(User),不是 Default,也不是某个插件的设置文件 - 某些主题(如
ayu、Material Theme)把标尺线颜色设成透明或与背景同色,临时换回Adaptive.sublime-theme验证 - 当前字体不是等宽字体——
rulers按字符列数计算,非等宽字体(如 Helvetica)会导致线位严重偏移;运行sublime.active_window().active_view().settings().get('font_face')查看当前字体,确保是Fira Code、JetBrains Mono等等宽字体
标尺线本身不校验、不拦截、不换行,它只是条线。真正截断长行得靠 black、prettier 或插件,别指望 rulers 干活。











