Sublime自动换行需设word_wrap为true布尔值,优先级为视图>语法>用户,Markdown默认开启而Python语法常禁用;永久启用需在Preferences.sublime-settings–User中添加{"word_wrap":true,"wrap_width":0}。

Sublime 的自动换行不是“开了就完事”,word_wrap 必须设为布尔值 true,写成字符串 "true" 或 "auto" 都会静默失效;而且它有三层作用域(视图 > 语法专属 > 用户设置),改了没反应,大概率是被更高优先级的配置盖住了。
怎么永久开启所有新文件的自动换行
改的是用户级配置,不是默认配置。按 Ctrl + ,(Windows/Linux)或 Cmd + ,(macOS)打开 Preferences.sublime-settings – User,在右侧 JSON 大括号内添加:
{
"word_wrap": true,
"wrap_width": 0
}
wrap_width: 0 表示按窗口宽度自适应软换行;设成 80 是硬截断,对中文、URL、下划线变量名基本无效。保存后,所有新打开的文件立即生效。已打开的文件可能需切换 Tab 或点击右下角状态栏 Wrap: Off 强制刷新。
为什么 Markdown 能换行,Python 文件却不行
因为 Sublime 加载设置的优先级是:视图设置 > 语法专属设置 > 用户设置。很多代码类语法(如 Python.sublime-settings)自带 "word_wrap": false,直接覆盖你的全局配置。
- 打开一个
.md文件 →Preferences → Settings – Syntax Specific→ 右侧加"word_wrap": true - 日志文件常被识别为
Plain Text,对应设置文件叫Plain Text.sublime-settings,别找错位置 - 如果误配了 Python,直接删掉
Python.sublime-settings即可——它不会凭空再生
快捷键和菜单为啥点了没反应
Alt + Z(Windows/Linux)或 Cmd + Option + Z(macOS)是视图级开关,优先级最高,会锁死当前文件的 word_wrap 状态。
- 点过一次右下角
Wrap: Off,它就写入了当前视图设置,之后改用户配置也无效 - 某些插件(如
SideBarEnhancements)会在后台调用view.settings().set('word_wrap', False),导致你刚开完又关掉 -
Git diff、控制台输出、侧边比较等特殊视图不支持word_wrap,这是 Sublime 内置限制,改配置也没用
换行后第二行缩进错位怎么办
默认软换行第二行顶格显示,这不是 bug,是渲染行为。想让后续行视觉上对齐第一行首字符,需同时满足三个条件:
-
"indent_subsequent_lines": true必须配合正整数wrap_width(比如80)才生效;设0就不触发 - 仅对有缩进规则的语法有效(如
JavaScript、Python、YAML),对Plain Text无效 - 复制粘贴仍是原始单行文本,这个缩进纯属显示层偏移,不影响光标定位或 LSP 行号
真正容易被忽略的是:word_wrap 是纯显示层处理,不插入换行符,也不改变文件内容。同一个文件多个标签页打开时,每个标签页的换行开关是独立的,不会同步。

















