sublime text永久开启所有文件自动换行需修改preferences → settings – user,添加"word_wrap": true和"wrap_width": 0;注意word_wrap为布尔值、非字符串,且语法专属设置或状态栏开关可能覆盖该配置。

Sublime Text 的“自动换行”本质是软换行(soft wrap),不修改文件内容,只改变显示方式;默认关闭,必须手动启用,且全局配置容易被语法专属设置或快捷键覆盖。
怎么永久开启所有文件的自动换行
改的是用户配置(Preferences → Settings – User),不是默认配置。右侧 JSON 里加两行:
{
"word_wrap": true,
"wrap_width": 0
}
注意:word_wrap 必须是布尔值 true,不是字符串 "true";wrap_width 设为 0 表示按窗口宽度自适应折行,设成 80 则强制在第 80 列附近空格/标点处截断(对英文注释有用,对中文、URL、变量名基本无效)。
- 改完保存,新打开的文件立即生效;已打开的文件可能需切换 Tab 或点击右下角状态栏
Wrap: Off强制刷新 - 别碰左侧
Settings – Default,升级会被覆盖,且不生效 - 如果仍不生效,先看右下角状态栏是否显示
Wrap: Off——点它能直接切换,这个操作优先级高于所有配置
为什么 Markdown / 日志能换行,Python 却不行
因为 Sublime 加载设置的优先级是:视图设置 > 语法专属设置 > 用户设置 > 默认设置。很多语法(如 Python、JSON、Plain text)自带的 .sublime-settings 文件里默认写了 "word_wrap": false,会盖掉你全局设的 true。
- 解决方法:打开一个
.md文件 →Preferences → Settings – Syntax Specific→ 右侧加"word_wrap": true,保存后所有 Markdown 文件都生效 - 同理,对日志文件,先确认右下角显示的语法名(比如
Log File或Plain text),再进对应语法专属设置添加 - 若误配了 Python,删掉
Python.sublime-settings即可,它不会凭空再生
快捷键和菜单操作为什么有时“失效”
Alt+Z(Win/Linux)或 Cmd+Option+Z(macOS)是视图级开关,只影响当前 Tab,关掉再重开就恢复默认(通常是关)。它比配置优先级还高,所以常出现“明明配了却没用”的情况。
- 菜单操作
View → Word Wrap效果等同于快捷键,也是临时的 - Vintage 模式(Vim 模拟)下,
Esc后按z w也能切,容易误触 - 某些插件(如
Origami、旧版TrailingSpaces)会在创建视图时重置word_wrap,可临时禁用插件验证
开启换行后光标和跳词行为变了怎么办
这是软换行的真实副作用:开启后,Ctrl+→ / Ctrl+←(跳词)、Home / End 键都按“视觉行”移动,而不是物理行。比如一行被折成三屏,按一次 End 只跳到当前屏幕末尾,不是整行结尾。
- 这不是 bug,是设计使然;代码文件(.py/.js)开启后容易干扰 LSP 行号定位、缩进判断
- 如果需要保持光标按物理行行为,建议只对
.md、.log、.txt等纯文本类型启用word_wrap - 想让折行后第二行缩进对齐,可加
"indent_subsequent_lines": true,但仅在wrap_width有值时明显起效
真正要注意的不是“怎么开”,而是“谁在关”——状态栏开关、语法专属设置、插件、Vintage 模式,都可能在你没注意的时候悄悄把 word_wrap 关掉。每次遇到不换行,先点右下角 Wrap: Off,比翻配置快得多。











