在 Sublime Text 中设置 79 列垂直提示线需在 Python 语法专属设置中添加 {"rulers": [79]},因 PEP 8 规定为 79 字符且 rulers 按原始字符列计算,不随 word_wrap 折行偏移。

怎么在 Sublime Text 里加一条 79 列的垂直提示线
Sublime Text 没有“行数限制”功能,只有 rulers 这个纯视觉提示机制。它不截断、不换行、不报错,只画一条竖线提醒你别超长——Python 项目就该设成 [79],不是 80。
打开 Preferences → Settings,在右侧用户设置(User Settings)中加入这一行(注意逗号位置和 JSON 格式):
{"rulers": [79]}
-
[79]必须是数组,写成79或"79"都无效 - 保存后立即生效,不用重启;如果没看到线,先按
Ctrl+`看控制台有没有Invalid settings in …报错 - 右下角状态栏确认当前是 Python 语法,否则可能被其他语法设置覆盖
- 某些主题(比如 ayu)会把标尺线设成透明色,换回
Adaptive主题验证是否显示
为什么 Python 要用 79 而不是 80
PEP 8 明确写的是 “79 characters”,不是 80。因为 diff 工具、邮件客户端、老旧终端会在行首或行尾额外占 1 列——[79] 才是对齐第 79 个字符位置的严格实现。
设成 [80] 表面整齐,实际已超规 1 字符。更关键的是:rulers 按“显示列”计数,\t 默认展开为 4 列,但标尺线不会动态适配;开启 "translate_tabs_to_spaces": true 后对齐才稳定。
怎么让不同文件类型用不同提示线
全局 rulers 会干扰 Markdown、JSON 等宽行友好的格式。必须走语法专属配置,优先级更高、更干净。
操作步骤:
- 打开一个
.py文件,右下角状态栏确认显示Python - 菜单选 Preferences → Settings – Syntax Specific
- 在右侧填入:
{"rulers": [79]} - 再打开一个
.md文件,同样操作,填{"rulers": [120]}
这样 Python 文件显示 79 列线,Markdown 显示 120 列线,互不干扰。项目级配置可写进 .sublime-project 文件的 settings 块里。
提示线和软换行(word_wrap)能不能一起用
可以,但必须分开配、且不能混淆用途:rulers 是视觉参考,word_wrap + wrap_width 是显示层折行,二者逻辑独立。
若想让 Python 文件既显示 79 列线、又在 79 列后视觉折行,得在语法专属设置里同时写:
{
"rulers": [79],
"word_wrap": true,
"wrap_width": 79
}
-
"word_wrap": true必须是布尔值,"true"或"auto"都会被忽略 -
wrap_width对中文、URL、下划线变量名(如user_config_path)基本无效,只在空格/标点处折 - 已打开的文件改完设置后不会实时刷新,需切换 Tab 或重新加载
- 右下角状态栏显示
Wrap: Off?点它会覆盖所有配置,优先级最高
真正容易被忽略的是:标尺线永远按原始字符列计算,哪怕开了 word_wrap,它也不会跟着折行位置偏移——你看到的“折行后第 79 列”其实是错觉,标尺始终钉死在源码第 79 列。


















