改了wrap_width没换行最常见原因是配置被更高优先级规则覆盖:右下角状态栏显示wrap: off时点击可写入当前视图设置(最高优先级),或对应语法的专用配置中设了"word_wrap": false。

为什么改了wrap_width却没换行?
最常见原因是配置被更高优先级规则覆盖:右下角状态栏显示 Wrap: Off 时,点一下它会直接写入当前视图设置,优先级最高;其次是你打开了一个 Python 或 Markdown 文件,但对应语法的 Python.sublime-settings 或 Markdown.sublime-settings 里写了 "word_wrap": false,全局设置就失效了。
检查步骤:
- 打开目标文件(比如
README.md),确认右下角显示的语法名 - 执行
Preferences → Settings – Syntax Specific,编辑对应语法的配置文件 - 确保只保留
"word_wrap": true和"wrap_width": 80(注意是布尔值true,不是字符串"true") - 保存后无需重启,立刻生效
wrap_width 设成 0 还是 80?
这不是对错问题,而是用途差异:
-
"wrap_width": 0:按窗口宽度实时软换行,适合 Markdown、日志、纯文本阅读;缩放、分栏、多屏都适配 -
"wrap_width": 80:硬性在第 80 列后、且最近空格/标点处折行,适合英文文档、邮件、注释排版;对中文、URL、下划线变量名(如user_profile_data)基本无效 - 不设
wrap_width:Sublime 用内置默认(约 120),行为不透明,建议显式指定 -
"wrap_width": -1或留空:无效,Sublime 不识别
怎么让第二行缩进对齐?
只有当 wrap_width 是正整数(如 80)时,indent_subsequent_lines 才起作用;设成 0 就不生效。
在语法专属配置中加这一行:
"indent_subsequent_lines": true
效果是:第二行及后续行视觉上缩进到第一行首个非空白字符位置。注意这只是显示偏移——光标定位、复制粘贴、LSP 行号判断仍按原始单行计算。
对 JSON/YAML 等缩进敏感格式慎用,容易造成误读。
要不要加 rulers 显示参考线?
要,尤其当你用了固定 wrap_width(比如 80)时。在用户设置或语法专属设置里加:
"rulers": [80]
编辑区会出现一条竖直参考线,帮你直观判断边界。它和 wrap_width 是解耦的:可以只开 ruler 不开 word_wrap,也可以只开 word_wrap 不设 ruler。
真正容易被忽略的是:软换行不改变任何实际文本结构——你看到的“两行”,复制出来仍是单行;Ctrl+→ 跳词、Home/End 键行为、LSP 行号判断,全都基于原始单行。











