永久开启全局自动换行需在preferences → settings – user中设"word_wrap": true和"wrap_width": 0;语法专属设置(如python.sublime-settings)会覆盖全局配置,需单独处理;软换行仅影响显示,不修改文件内容。

Sublime Text 默认不开启自动换行,word_wrap 必须显式设为 true 才生效,且仅控制显示(软换行),不修改文件内容、不插入真实换行符。
怎么永久开启全局自动换行(用户设置)
这是最常用也最可靠的启用方式,改的是你自己的默认行为:
- 按
Ctrl + ,(Windows/Linux)或Cmd + ,(macOS)打开Preferences → Settings – User - 确保修改的是右侧「User」面板(左侧 Default 是只读的,改了也没用)
- 在 JSON 大括号内添加两行(注意逗号分隔):
"word_wrap": true,<br>"wrap_width": 0
- 保存后,所有新打开的文件立即生效;已打开的文件需切换 Tab 或点击右下角状态栏
Wrap: Off强制刷新 -
word_wrap必须是布尔值true,写成"word_wrap": "true"或"word_wrap": "auto"都会被静默忽略
为什么 Markdown 能换行,Python 却不行
因为 Sublime 的设置加载优先级是:视图设置 > 语法专属设置 > 用户设置 > 默认设置。很多语法(如 Python、JSON、Plain text)自带的 Python.sublime-settings 文件里默认写了 "word_wrap": false,直接覆盖你的全局配置。
- 解决方法:先打开一个
.md文件,再选Preferences → Settings – Syntax Specific - 右侧空白处写入:
{"word_wrap": true,"wrap_width": 0} - 保存后,该配置实际存为
Markdown.sublime-settings,只影响 Markdown 文件 - 同理,对日志文件,确认右下角显示的语法名(如
Log File或Plain text),进对应语法专属设置添加 - 误配了 Python?直接删掉
Python.sublime-settings即可,它不会凭空再生
换行后第二行顶格显示,怎么让缩进对齐
word_wrap 本身不生成任何缩进——它只是折行显示,不是重排版。所谓“换行后缩进”,是常见误解。
- 若想让第二行继承首行缩进(比如 Python 嵌套块、YAML 层级),可在用户设置中加:
"indent_subsequent_lines": true
- 该选项只对有明确缩进规则的语法生效(如
JavaScript、Python、YAML),对Plain text无效 - 它不改变实际文本内容,复制粘贴仍是单行原始字符串
- 别同时设
"wrap_width": 80—— 这会强制字符截断,和indent_subsequent_lines冲突,反而让缩进错乱;日常建议保持"wrap_width": 0
快捷键和状态栏开关为什么有时不生效
Alt + Z(Win/Linux)或 Cmd + Option + Z(macOS)切换的是当前视图级设置,优先级最高,但关闭文件再打开就失效。如果点了没反应,往往不是配置错了,而是被更高优先级的状态锁住了。
- 先看右下角状态栏是否显示
Wrap: Off;如果是,直接点击该区域,能强制切换,这个操作优先级高于所有配置文件 -
draw_white_space设为"all"时,大量空格可能掩盖折行效果 - 某些插件(如
SideBarEnhancements、Origami)可能通过view.settings().set('word_wrap', False)强制关闭,临时禁用插件验证 - 大文件(如 >10MB 日志)可能因性能限制不触发软换行,这是 Sublime 的内置限制,非配置问题
真正容易被忽略的点是:软换行开启后,Ctrl + →、Home、End 等光标移动键会按“视觉行”计算,不是整行——一行代码被折成三屏,按一次 End 只跳到当前屏幕末尾,不是物理行尾。











