必须修改用户配置(Settings – User)添加"word_wrap": true才能全局自动换行;语法专属设置可为Markdown等启用换行而保持Python不换;wrap_width: 0实现窗口自适应软换行,80用于英文文档硬截断;word_wrap纯属显示层,不影响实际内容与复制。

全局开启自动换行:改哪里、为什么必须改用户配置
Sublime Text 默认关闭 word_wrap,这不是 bug,是设计——它默认让代码“保持物理行完整”,避免干扰缩进识别和 LSP 行为。所以菜单点一下 View → Word Wrap 或按 Alt+Z 只对当前文件临时生效,关掉再打开就没了。
要真正“每次启动都自动换行”,必须改用户配置:
- 按
Ctrl+,(Windows/Linux)或Cmd+,(macOS)打开设置面板 - 确保在右侧(
Preferences → Settings – User)编辑,不是左侧默认配置 - 在大括号内加一行:
"word_wrap": true - 保存即可,无需重启;已打开的文件可切个 Tab 刷新视图
⚠️ 常见错误:把配置写进左侧默认设置(Settings – Default),那会被升级覆盖,且不生效。
只对 Markdown / 日志开换行,Python 保持不换:语法专属设置怎么配
代码文件(如 .py、.js、.json)一旦强制软换行,容易让光标跳词(Ctrl+→)、Home/End 键行为错乱,还可能干扰格式化插件判断“一行是否超长”。
但 .md、.log、.txt 这类纯文本又极度依赖折行阅读。解决方案是语法专属配置:
- 先打开一个
.md文件 - 菜单选
Preferences → Settings – Syntax Specific - 右侧会加载
Markdown.sublime-settings(首次为空) - 加入:
"word_wrap": true,"wrap_width": 0 - 保存后,所有 Markdown 文件自动启用,不影响 Python 文件
✅ 如果误给 Python 配了这个,删掉 Python.sublime-settings 就行——它不会凭空生成。
wrap_width 设成 80 真的有用吗?什么时候该用 0
wrap_width 不是“自适应”,而是“硬截断”:设成 80,Sublime 会在第 80 列后、且最近一个空格/标点处折行——对英文有效,对中文、URL、下划线变量名基本无效。
-
"wrap_width": 80:适合写文档、注释、邮件正文,配合"rulers": [80]显示参考线 -
"wrap_width": 0:推荐用于 Markdown / 日志,表示“按窗口宽度软换行”,随编辑器缩放实时调整 - 不设
wrap_width:Sublime 用内置默认(约 120),但行为不透明
⚠️ 注意:"word_wrap": "auto" 是无效写法——Sublime 只认布尔值 true/false,字符串会被静默忽略。
开了自动换行,复制出来还是长行?这正常吗
完全正常。word_wrap 是纯显示层处理,不插入任何 \n,也不改变文件内容。你复制粘贴时,得到的仍是原始单行文本。
需要真实断行(比如整理日志、拆分超长 SQL),得用正则替换:
-
Ctrl+H打开替换面板 - Find:
(?<=.{80})\s(匹配第 80 字符后的空白处) - Replace:
\n - 勾选 Regular Expression,点击 Replace All
真正的坑在于:很多人以为开了 word_wrap 就等于“文本被格式化了”,其实它连光标定位逻辑都只是视觉重映射——比如一行被折成三屏,按一次 End 只跳到当前屏幕末尾,不是整行末尾。

















