项目级禁用 word_wrap 的正确方法是在 .sublime-project 文件的 settings 块中设置 "word_wrap": false(布尔值,不可加引号),该设置优先级高于全局配置,且仅作用于当前项目所有文件。

项目级禁用 word_wrap 的正确姿势
Sublime Text 没有“项目专属设置覆盖全局”的开关,但能通过 .sublime-project 文件精准控制当前项目行为。关键不是关掉换行功能本身,而是让编辑器在打开该项目时,对所有文件(包括新创建的)默认不启用 word_wrap,同时不影响其他项目。
实操建议:
- 在项目根目录下新建或编辑
myproject.sublime-project(文件名任意,但后缀必须是.sublime-project) - 写入以下内容(注意是
settings,不是editor_settings或其他):
{
"settings": {
"word_wrap": false
}
}
这个 settings 块会合并进当前窗口所有视图的设置,优先级高于用户/默认设置,且只作用于该 .sublime-project 打开的窗口。
word_wrap 设为 false 还是 "false"?
必须是布尔值 false,不能加引号。加引号变成字符串 "false" 后,Sublime 会当作无效值处理,回退到全局设置(通常为 true),导致禁用失败。
常见错误现象:
- 保存项目文件后重启 Sublime,打开 .py 或 .js 文件依然自动换行
- 检查
View → Word Wrap菜单项仍是勾选状态(说明实际未生效)
原因几乎全是引号误用或拼写错误(比如写成 wordwrap 或 wrap_words)。
为什么不用用户设置或语法特定设置?
用户设置(Preferences → Settings)影响所有项目,违背“仅本项目”的需求;语法特定设置(如 JavaScript.sublime-settings)只对匹配语法的文件生效,而项目里可能混用 Markdown、JSON、.env 等多种类型,且新文件初始语法可能是 Plain Text,无法全覆盖。
项目设置的优势:
- 天然按工作区隔离,开多个窗口互不干扰
- 对所有打开的文件统一生效,无论语法类型或是否已保存
- 可提交到 Git(如果需要团队统一代码风格),只要不包含敏感路径
额外注意:缩进和软换行的混淆点
有人禁用 word_wrap 后发现长行仍“看起来被截断”,其实是开启了 draw_white_space 或启用了 line_numbers 导致视觉错觉;也有人把 wrap_width(控制软换行宽度)和 word_wrap(是否启用)搞混——后者关了,前者再大也无效。
确认是否真生效,最直接的方法:
- 打开一个超长行的文件(比如一行 200 字符的 JSON 字符串)
- 观察水平滚动条是否出现:出现 = 禁用成功;不出现 = 仍被换行
- 执行命令
view.settings().get('word_wrap')(在 Sublime 控制台中),返回False才算落地
项目设置看似简单,但 Sublime 对 JSON 格式、键名大小写、布尔字面量极其敏感,少一个逗号或错一个字母,整个设置就静默失效。别信“改完就生效”,务必验证。










