新打开的文件默认自动换行需在preferences → settings – user中添加"word_wrap": true和"wrap_width": 0;前者为布尔开关,后者实现窗口自适应软换行,不修改文件内容。

怎么让新打开的文件默认自动换行
直接改 Preferences → Settings – User,加两行就行:"word_wrap": true 和 "wrap_width": 0。前者是开关,后者表示“按窗口宽度自适应”,不是固定列数截断。别写成 "word_wrap": "true" 或 "word_wrap": "auto"——Sublime 只认布尔值,字符串会被静默忽略。
保存后,所有新打开的文件立刻生效;已打开的文件可能需要切换 Tab 或右键 → Revert 刷新视图。如果右下角状态栏显示 Wrap: Off,点它一下能强制覆盖当前视图设置(优先级最高)。
为什么 .py / .json 文件还是不换行
因为 Sublime 的 word_wrap 有明确优先级:视图设置 > 语法专属设置 > 用户设置 > 默认设置。你写了全局 true,但 Python.sublime-settings 或 JSON.sublime-settings 里很可能写着 "word_wrap": false,直接盖掉了你的配置。
解决办法很简单:
- 打开一个
.py文件,按Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入Settings: Syntax Specific回车 - 在弹出的
Python.sublime-settings右侧添加"word_wrap": true - 同理,对
.json、.md、.log等类型,都得进各自语法专属设置补上
别往 Settings – Default 里改——那是只读的,改了也不生效,还会被升级冲掉。
换行后第二行顶格显示,怎么视觉上对齐缩进
默认软换行就是硬切,第二行从左边界开始,嵌套 JSON 或 Python 块看着像缩进丢了。这不是 bug,是渲染行为。想让后续行“看起来”缩进对齐,得加 "indent_subsequent_lines": true,但必须满足两个条件:
-
"wrap_width"必须设为正整数(比如80),设成0就不触发 - 当前文件绑定的语法必须支持缩进规则(如
Python、JavaScript、YAML),Plain Text无效
注意:"indent_subsequent_lines" 是纯显示层偏移,复制粘贴仍是原始单行文本,光标定位和 LSP 行号也不受影响。别同时设 "wrap_width": 80 和 "indent_subsequent_lines": true 用于中文或 URL——折点逻辑依赖空格/标点,对无空格长串基本失效。
自动换行到底改没改文件内容
完全没改。Sublime 的 word_wrap 是软换行(soft wrap),只影响显示,不插入任何 \n,也不改变实际存储内容、光标坐标或行号计数。你看到的“两行”,复制出来还是原始单行字符串。
如果真需要把超长日志或 SQL 拆成多行存盘,得用正则替换(比如匹配空格后超过 100 字符处插入 \n)或插件处理,不是开这个开关能解决的。另外,同一个文件多个标签页打开时,每个标签页的换行状态独立——关掉再重开,不会继承之前的状态。











