
如果你已经在这个选项上折腾了半小时——段落对话框打开中文版式选项卡切过去允许西文在单词中间换行打了个钩确定然后什么都没变。长英文单词照样把行尾顶出界URL 照样顶到页边表格里那串文件路径照样把列撑得歪七扭八。别急着怀疑自己点错了地方这个选项确实存在也确实经常看起来没用。Word 的换行规则是三套机制叠在一起工作的字符级的断行规则、段落级的换行选项、还有表格与对象自己的布局约束。你只动了其中一个另外两个没配合结果就是没变化。这篇东西写给这几类人写论文和标书的人被参考文献里一长串英文期刊名折磨过写技术文档的人文档里塞满命令行、URL、代码片段做交付文档的人表格里全是路径和参数一换行就散架。我会把为什么没生效拆成可排查的层次再给到能直接抄的实操方案——从最轻的点几下鼠标到改样式、写宏、直接改 OOXML。不需要你会编程需要你愿意按顺序排查。1. 先把概念理清这个选项到底管什么、不管什么1.1 允许西文在单词中间换行的真实作用域这个复选框的位置在开始 → 段落组右下角的小箭头或者右键 → 段落→ 中文版式选项卡 → 换行区域。它控制的东西只有一件当一个西文单词在行尾放不下时Word 是否允许在这个单词内部断开。默认情况下不打钩Word 的断行粒度是词。行尾放不下一个完整单词它就把整个词挪到下一行前面用其他内容或者空白把这个行尾填满。打上钩之后粒度变成字符——词内部任何位置都可以断开。注意是可以不是必须也不是每次到行尾就断。Word 依然会尽量避免把词切碎只有在整词挪到下一行也放不下、或者会严重破坏排版效果的时候才会在词中间下刀。这解释了一个特别常见的困惑你勾了选项用一个 12 个字母的单词去测试它当然不断——因为这个词本身能塞进下一行。真正能验证这个开关是否生效的测试方法是输入一段 60 到 80 个字符、中间完全没有空格的字符串再看它会不会在行尾断开。它是段落级属性不是文档级、不是字体级、不是样式级样式只是携带它。这意味着你选中的是哪几个段落改的就是哪几个段落后面新打的字继承的是它所在段落的属性或者它所在样式里写着的属性。还有一个误区值得说明中文本身不存在单词中间换行的问题汉字逐字断行是天经地义的。这个选项只对拉丁字母、数字和它们的组合生效。所以如果问题出在中英混排的间距上你折腾这个复选框是折腾错了方向。1.2 同一张选项卡上另外几个开关在跟你抢方向盘段落对话框的中文版式选项卡里不止一个勾。它们协同决定一行怎么断、看起来什么样很多人只勾了一个就以为万事大吉结果被另一个选项抵消掉了。我把这几个开关的职责整理成一张表排查的时候可以逐个关掉做对照实验选项它真正管的事容易产生的误判按中文习惯控制首尾字符禁止某些标点出现在行首或行尾禁则处理以为它是换行总开关允许西文在单词中间换行放开单词内部的断行权限勾了就该断实际 Word 仍尽量不断允许标点溢出边界行尾的标点可以稍微探出正文边界和断词协同关了会显得行尾很挤允许行首标点压缩行首标点占用的宽度被压缩一半影响视觉行长和断词无关自动调整中文与西文的间距中英文之间自动补约四分之一个空格经常被误认为是多打了空格自动调整中文与数字的间距中文与数字之间自动补间距同上数字多的文档尤其明显注意最后两项是排查时的头号干扰源。很多人在调整换行效果时看到中英之间忽宽忽窄第一反应是去找多余空格按了半天退格键没效果——其实是这两个自动间距选项在起作用。真正跟断词直接相关的主要是允许西文在单词中间换行允许标点溢出边界按中文习惯控制首尾字符这三项。另外那个允许行首标点压缩影响的是行首标点的宽度不是断点位置。搞清楚每个开关的分工能省掉大量瞎试的时间。1.3 三种换行不要混为一谈我在帮人看文档时十次里有七八次问题根本不是换行选项而是文档里混进了别的换行符。按CtrlShift8或者开始选项卡里那个像 ¶ 的按钮打开编辑标记一切都会现原形段落标记 ¶真正的段落结束受所有段落属性的控制。手动换行符向下的弯箭头按ShiftEnter打出来的强制在这里断行但仍在同一段里。任何换行选项都管不到它因为断点是你亲手钉死的。分页符、分节符CtrlEnter打出来的直接进入下一页跟断词毫无关系。从网页、PDF、其他格式粘贴过来的文本经常塞满手动换行符。这种文档你用肉眼是看不出来的——文字断得刚刚好看着还挺整齐——但你就是改不动。遇到这种情况先做一次全局查找替换查找框里输入^l小写 L代表手动换行符替换框里输入一个空格或者^p换段落全部替换把人为的断点清掉再来谈换行选项。这一步没做后面所有操作都是在错误的前提上使劲。2. 生效前提它是段落属性先解决作用范围问题2.1 直接格式、样式、模板的优先级链条Word 的格式生效顺序是直接格式 样式 模板默认值。直接格式优先级最高所以你手动勾选的那一刻理论上应该立刻生效。反过来说如果你发现明明取消了勾文字还在单词中间断开那多半是它所在的样式里写着允许断词直接格式取消不了样式的设定你得去改样式。这里有个容易被忽略的细节表格样式也能携带段落格式。Word 的内置表格样式可以定义整张表格的段落属性包括中文版式这一组。所以当你在单元格里怎么勾都没反应时先去表格设计里把表格样式换成无样式或者手动清除格式再试一次——我用这个办法定位过好几次诡异无效的案例。样式链条还有一个传染路径如果正文文本列表段落代码块这类样式都基于正文往上继承你在正文上改了设置理论上会往下传但如果某个下级样式自己显式写死了相反的值继承就被打断了。文档里样式越花这种断链越多。所以文档越复杂越推荐用后文的批量手段兜底而不是靠手动逐个点。2.2 表格单元格里的段落另一套上下文单元格里的段落同样吃允许西文在单词中间换行这个选项但你在屏幕上看到的最终结果还受另外三个开关制约它们任意一个挡着你都会觉得换行选项没生效第一单元格选项里的适应文字。这是个隐蔽到让人抓狂的设置。勾上它之后Word 为了让文字塞进当前列宽会把文字横向压扁——字号变小、字间距变紧甚至完全不换行。你在这边勾选断词选项那边适应文字直接把文字压成一条线。路径是选中单元格 → 表格布局 → 属性 → 单元格 → 选项 → 取消适应文字。第二列宽是固定值还是自动。列宽设置为固定数值时Word 不会再根据内容重新计算宽度内容超出就是溢出或挤压。设置为自动或者表格整体处于根据窗口自动调整时长内容会把列撑宽可能把整张表挤到页面外。第三表格属性里的自动重调尺寸以适应内容。这个选项让表格跟着内容长胖长串英文一进来列宽就变了。想稳定控制换行效果通常是固定列宽 取消自动重调 单元格允许自动换行。2.3 文本框、页眉页脚、脚注里的文字不在主文档流这是最后一个大坑CtrlA全选不到它们。页眉、页脚、脚注、尾注、文本框、形状里的文字各自属于独立的故事区域主文档的全选操作根本覆盖不到。你在正文里全选、勾选、确定然后盯着页眉里的长英文发愁原因就在这里。位置该怎么全选CtrlA 能否覆盖正文与表格直接 CtrlA表格在正文流里能页眉页脚双击页眉区域进入编辑后再 CtrlA不能文本框、形状单击进入形状内编辑后 CtrlA不能脚注尾注切到脚注窗格内再 CtrlA不能目录、题注等域结果选中域后按 F9 更新前需要先处理样式部分顺带说一个文本框专属的坑文本框自身有个形状中的文字自动换行选项形状格式 → 文本选项 → 文本框取消勾选后文字会直接冲出文本框边界而不换行。这个开关和段落的断词选项是两码事但视觉结果一样——文字溢出。两个地方都要确认才算排查完。3. 手把手五层递进的排查与修复流程排查的核心原则是从代价最小的操作开始一层层加重。直接上宏、直接改模板看起来爽但会把你后面定位问题的线索全部破坏掉。3.1 第一层30 秒自查排除低级错误先做这五件事成本极低命中率却不低确认视图是页面视图打印版式。Web 版式、大纲视图、阅读视图下的排版表现和打印结果不一样你会拿错误的画面做判断。按CtrlShift8看编辑标记确认行尾不是手动换行符。看选中状态。很多人右键调段落对话框时光标停在一行里Word 就只对这一段生效你以为改的是全文其实只改了一行。做一次极限测试在问题段落里敲一串 60 到 80 个字符、不含空格的内容看它断不断。断说明选项生效问题在别处不断才是选项层面的事。把自动调整中文与西文的间距自动调整中文与数字的间距临时取消看视觉变化是不是你真正在意的那个问题。这几步做完大概能消化掉一半的求助。3.2 第二层清掉直接格式再重新下钩直接格式优先级最高但它也最容易被别的东西覆盖。安全起见先另存一份备份然后CtrlA全选按CtrlQ清除段落格式。按Ctrl空格清除字符格式这一步可做可不做会顺带把字体字号拉回样式默认值字体如果有特别要求就别做。重新打开段落对话框在中文版式里下钩。CtrlQ的副作用必须提前说清楚它会把缩进、行距、对齐方式、段前段后间距一起清掉。多级标题、悬挂缩进的编号列表被清理之后整篇文档的版式会塌一下。所以这条路径适合两种情况文档刚起步、乱得没什么可失去的或者只对出问题的那几个段落局部处理不要全文来。另外一个比清除格式更温和的操作是开始 → 字体组里的清除所有格式按钮。它等于Ctrl空格加CtrlQ的组合力度更大同样慎用。3.3 第三层改样式一次改好后面都省心如果你要处理的是几百页的文档逐段点鼠标没有任何意义。正确姿势是改样式在开始 → 样式窗格里找到正在使用的样式大概率是正文也可能是自定义的正文文本代码等。右键 → 修改 → 对话框左下角格式按钮 → 段落。在中文版式里下钩一路确定。检查一下还有哪些样式在这个文档里被实际使用样式窗格右下角有个选项可以把显示范围设为正在使用的样式逐个处理。提示改样式对之后新输入的段落是稳定生效的对已存在的段落如果被直接格式覆盖过仍然需要单独清一次格式。判断方法很简单选中文字看一眼段落对话框里那个复选框是实心勾还是空心——空心说明来自样式实心说明有直接格式。还有一个被严重低估的功能用查找和替换批量替换段落格式。在查找和替换对话框里点更多把光标放在查找内容框点格式 → 段落把中文版式选项设成未勾选把光标放到替换为框同样点格式 → 段落设成已勾选然后全部替换。这个操作只动格式不动文字是清理漏网之鱼最省力的办法几百页也就几秒钟。3.4 第四层用宏一次性覆盖所有段落、所有故事区域当文档里同时存在正文、表格、文本框、页眉页脚时手动处理是不可靠的。上 VBA。AltF11打开编辑器插入模块把下面这段贴进去F5运行Sub SetWordWrapAllStories() Dim rng As Range Dim subRng As Range 遍历主文档、页眉页脚、脚注尾注、文本框等所有故事区域 For Each rng In ActiveDocument.StoryRanges On Error Resume Next rng.ParagraphFormat.WordWrap True 每个故事区域可能还有链接的下层区域逐层往下走 Set subRng rng.NextStoryRange Do While Not subRng Is Nothing subRng.ParagraphFormat.WordWrap True Set subRng subRng.NextStoryRange Loop On Error GoTo 0 Next rng MsgBox 处理完成 End Sub几点说明都是实测踩出来的第一ParagraphFormat里对应这个勾选的属性名最稳的确认方式不是查文档而是用录制宏反查。打开开发工具 → 录制宏手动去段落对话框里勾一下、确定停止录制查看代码——Word 会把它翻译成准确的属性和值照着抄就不会错。版本之间界面文字可能有细微差别属性名比界面文字可靠。第二文本框里的文字在一个独立的故事区域里ActiveDocument.Paragraphs这个集合是抓不到它的必须用StoryRanges配合NextStoryRange逐层遍历。这个细节决定了你的宏是处理了正文还是处理了文档里所有能看见的字。第三如果宏被安全策略禁用了企业环境里很常见不要硬刚。退回第三层改样式 格式替换的方案效果一样只是慢一点。如果你只需要处理表格可以改用更精确的遍历Sub SetWordWrapInTables() Dim t As Table Dim p As Paragraph For Each t In ActiveDocument.Tables For Each p In t.Range.Paragraphs p.Format.WordWrap True Next p Next t End Sub顺便给一个和换行异常高度相关的小宏——批量把手动换行符换成空格。从网页或 PDF 捞来的文档这一招能救回半条命Sub ManualBreakToSpace() With Selection.Find .ClearFormatting .Replacement.ClearFormatting .Text ^l 手动换行符ShiftEnter .Replacement.Text .Forward True .Wrap wdFindContinue .Execute Replace:wdReplaceAll End With End Sub3.5 第五层表格、固定列宽与兼容模式的特殊处理走到这一步还没解决问题基本锁定在表格布局或文档兼容性上。表格方向按这个顺序处理选中整张表 → 表格布局 → 属性 → 单元格 → 选项 →取消适应文字、确认自动换行是勾上的再切到表格选项卡 → 选项 →取消自动重调尺寸以适应内容最后到列选项卡给列宽填一个明确的数值。这三步做完单元格里的长英文才会老老实实在列宽内断行而不是把列撑开或者被压扁。兼容模式方面如果文件还是.doc格式或者标题栏上写着兼容模式排版引擎走的是旧规则中文版式的一些行为和新格式不完全一致。路径是文件 → 信息 → 转换把文档升级到当前格式再重新设置一遍。另外文件 → 选项 → 高级 → 版式选项里有一批针对中文排版的历史兼容开关正常情况下别动它们除非你明确知道自己在解决哪个遗留问题。4. 表格与长串内容换行难看的真正解法4.1 为什么表格列宽会拖不动跟换行有什么关系Word 表格列宽无法拖动和换行不生效经常一起出现因为它们共享同一组布局参数。列宽拖不动的原因我整理成一张排查表现象最可能的原因处置方式拖动列线时整表一起缩放表格是自动调整状态表格布局 → 自动调整 → 固定列宽拖了没反应或弹回原位表格属性里指定了宽度且自动调整关闭属性 → 表格 → 取消指定宽度只有某一列拖不动该列有单元格合并、嵌套表格先拆掉合并或嵌套再调怎么都拖不动文档被限制编辑保护审阅 → 限制编辑 → 停止保护拖完后内容被压扁单元格勾了适应文字取消适应文字视图是 Web 版式视图本身不支持精确列宽切回页面视图看出来了没有——适应文字和固定列宽同时出现在两张表里。这不是巧合它们就是同一组开关在换行和列宽两个维度上的表现。先把布局参数定死再谈断词顺序不能反。4.2 超长 URL、路径和代码串的处理技巧段落选项对超长无空格字符串是有用的但断点位置是随机的——URL 可能从中间某个字母断开看起来很难看复制出去还容易漏字符。想要更可控的断点有几个办法零宽空格U200B。在斜杠或点号后面插一个不可见的字符Word 会优先在这里断行。手工插入的方法是从网上复制一个零宽空格粘贴到替换框里用宏插入更干净Sub InsertZeroWidthSpaceAfterSlash() With Selection.Find .ClearFormatting .Replacement.ClearFormatting .Text / .Replacement.Text / ChrW(8203) .Forward True .Wrap wdFindContinue .Execute Replace:wdReplaceAll End With End Sub注意零宽空格是隐形字符肉眼不可见。文档定稿、投稿、交付之前建议清掉否则对方复制文本时可能带出奇怪的字符做查重或者格式校验时也会出乱子。清理的思路是把ChrW(8203)替换为空。可选连字符Ctrl连字符。它平时不显示只有当这个词恰好在这里断行时才显示一个短横线是处理长英文单词最体面的办法——排版上完全符合英文习惯。缺点是要一个个手动插适合少量关键词。不换行空格CtrlShift空格。反向操作用于这两个词绝对不许被拆开的场景比如单位与数值、品牌名与型号。和可选连字符配合使用一个负责这里必须断一个负责这里绝不能断。字符缩放与间距紧缩。路径是选中文本 → 字体对话框 → 高级 → 缩放 90%、间距紧缩 0.3 磅。把长串硬压进一行适合标题、参数表这类不能换行的地方。副作用是字号看起来会小一点视觉上略瘦。改对齐方式。两端对齐时Word 会优先拉伸字间距把行填满中英混排的段落里这种拉伸尤其明显断词行为会被掩盖。临时切成左对齐看一眼能快速判断问题是不是出在对齐方式上。4.3 公式、图片、域结果这些东西完全不吃换行选项这是最让人绝望的一类没生效因为它根本没有解你只能换思路。Word 自带公式是 OMML 内联对象MathType 插入的是 OLE 对象或图片。对象在 Word 眼里是一个整体字符不存在在中间断开的可能段落对话框里的断词选项对它们没有任何作用。所以一个长公式超出页面你勾一百次那个复选框都没用。可行的处理是把长公式拆成多行Word 公式工具支持在公式内换行或者干脆手写成两段、整体缩小公式字号、把公式放进固定宽度的表格单元格里控制位置。目录、题注、交叉引用这些域结果换行行为由对应的样式TOC 1 到 TOC 9、题注控制不是由正文段落属性控制。改样式才对改完按F9更新域看效果。如果更新域之后格式又回去了说明模板里带的样式是旧定义得从模板层面改。必要时可以锁定域CtrlF11防止它被意外刷新。提示把公式、长表格、大图放在同一段落里是排版事故的高发区。我的习惯是让每个重型对象独占一个段落段落属性单独设置出问题时定位成本会低很多。5. 源头治理从 Markdown、HTML、程序生成时就把换行管好5.1 Markdown 转 Word 的模板预设用 Pandoc 把 Markdown 转成 Word 时最省力的做法不是转完再修而是准备一个 reference.docx 模板把里面所有段落样式的中文版式选项预先设好pandoc input.md -o output.docx --reference-docreference.docxreference.docx 的获取方式是先让 Pandoc 生成一份默认文档pandoc -o ref.docx --print-default-data-file reference.docx用 Word 打开逐个样式修改段落属性正文、Body Text、First Paragraph、Compact、Source Code全部把允许西文在单词中间换行勾上另外把代码块样式的字体换成等宽字体、字号调小。改完保存之后所有转换都复用这个模板。这个投入一次收益是长期的尤其是经常转技术文档的人。还有一个 Markdown 侧的坑行尾加两个空格表示硬换行转换后变成手动换行符在 Word 里就成了钉死的断点。同一份 Markdown用空行分段和用行尾双空格换行转出来的 Word 排版差异很大。写文档时统一用空行分段别混着来。5.2 HTML、CSS 转 Word 时的换行控制给文档站做导出功能时pre和长表格是最容易出问题的地方。CSS 层面先把这一层兜住pre { white-space: pre-wrap; word-break: break-all; overflow-wrap: anywhere; } table { table-layout: fixed; word-break: break-word; }需要说明的是Word 打开 HTML 时对 CSS 的支持是残缺的word-break这类属性不一定被完整翻译过去。所以更可靠的路线是要么在 HTML 里就把长串预先按位置插好断行机会等价于前面说的零宽空格要么走专业转换工具、转完之后在 Word 端用宏批量处理一遍。别指望 CSS 一手包办。5.3 直接改 OOXML程序化生成时的正确写法在 OOXML 里允许西文在单词中间换行对应段落属性pPr下的w:wordWrap元素。动手之前先做一件事把一份你已经手工设置好的 docx 复制一份改后缀为 .zip解压进 word/document.xml用编辑器搜wordWrap看 Word 到底写了什么值。不同来源的文档尤其是中文模板在这一点上的写法不一致照着现有文件抄是最不容易翻车的办法。这个验证动作值得花两分钟比在网上找答案靠谱。用 Python 批量处理时注意两个真实的坑。第一docx.paragraphs不包含表格里的段落表格要单独遍历第二pPr内部的元素顺序在 OOXML 模式里是有严格规定的w:wordWrap必须排在w:kinsoku之后、w:overflowPunct之前顺序错了 Word 打开时会提示文件内容有问题甚至直接修复文档。from docx import Document from docx.oxml.ns import qn from docx.oxml import OxmlElement def set_word_wrap(paragraph, allowTrue): 设置段落的中文版式允许西文在单词中间换行 pPr paragraph._p.get_or_add_pPr() tag qn(w:wordWrap) el pPr.find(tag) if el is None: el OxmlElement(w:wordWrap) # 必须按 OOXML 规定顺序插入否则 Word 会报文档损坏 pPr.insert_element_before( el, w:overflowPunct, w:topLinePunct, w:autoSpaceDE, w:autoSpaceDN, w:bidi, w:adjustRightInd, w:snapToGrid, w:spacing, w:ind, w:contextualSpacing, w:jc, w:textDirection, w:textAlignment, w:outlineLvl, w:rPr, w:sectPr, w:pPrChange ) el.set(qn(w:val), 1 if allow else 0) doc Document(in.docx) # 正文段落 for p in doc.paragraphs: set_word_wrap(p) # 表格单元格里的段落docx.paragraphs 抓不到 for t in doc.tables: for row in t.rows: for cell in row.cells: for p in cell.paragraphs: set_word_wrap(p) doc.save(out.docx)如果用的是 Apache POI 或者 poi-tl 这类 Java 模板引擎思路完全一致找到段落对应的 XML 属性节点写入即可。用 poi-tl 做列表循环时特别要注意——循环生成的每一行都是独立段落段落属性不会从模板自动继承给新段落需要在模板里就把样式挂好或者生成后用上面的思路统一扫一遍。6. 常见问题速查表与踩坑实录6.1 症状到处置的速查表症状最可能的原因处置动作勾了完全没变化选区只覆盖了一段文字在文本框或页眉分类处理正文全选、文本框单独进极限长串也不断段落被样式或表格样式钉死了默认值改样式或清除格式后重设表格里长英文不换行单元格勾了适应文字表格属性 → 单元格 → 选项 → 取消长英文把列撑宽表格处于自动调整状态固定列宽 取消自动重调尺寸勾了还在断词样式里写着允许取消不了改样式而非直接格式目录里没变化域结果由 TOC 样式控制改 TOC 样式后按 F9 更新公式顶出页面对象不参与断行拆分公式或缩小字号别无他法行尾永远断不整齐段落是两端对齐字间距被拉伸临时改左对齐对照观察从 PDF 粘贴后调不动文本里混满手动换行符查找^l替换为空格处理后文件变大、保存变慢批量宏改动了大量段落标记另存一份处理交付前精简修订与域6.2 我在实际操作中踩过的几个坑第一动手之前一定另存备份。这话听着像废话但清除格式、批量替换、跑宏这三个操作每一个都不可逆。我见过有人对着 300 页的标书按了CtrlQ标题层级、目录、编号全部重排最后只能翻出三天前的版本重来。批处理只在新副本上做这是一条纪律。第二先怀疑手动换行符再怀疑选项。我的经验比例大概是七比三——七成的问题出在编辑标记上。允许西文在单词中间换行看起来没用很多时候是因为那段文字里根本没有自动换行的机会断点早就被手动钉死了。养成第一步按CtrlShift8的习惯能省下大量无谓尝试。第三批量宏会让文档变重。处理完几百页文档的段落属性后文件体积会明显变大保存和关闭也可能变慢尤其是文档本身还挂着修订记录、批注、链接图片、自动保存到云端目录的情况下。我的习惯是处理前的原始版本留一份干净副本处理结果另存为新文件交付前把修订全部接受、批注删除、域更新并锁定再做一次另存为刷新内部结构。这样交接给对方的时候对方打开和关闭都利索。第四改 Normal.dotm 要克制。把断词选项写进全局模板确实能让所有新建文档都带上这个设置但它是机器级的影响——同事拿到你的文档行为可能不一样你换台电脑习惯也得重新来一遍。团队协作场景里把预设做进项目自己的模板文件更稳妥。第五零宽空格用得越少越好。它确实能精确控制断点但隐形字符在交付环节是个隐患对方复制文本时带出来、做格式校验时被判为异常字符、归档时无法用肉眼核查。我的做法是只在长 URL 和文件路径这类非断不可的地方用并且定稿前做一次清理。第六表格里别用适应文字。这个选项在 Word 的默认里并不显眼但一旦被打开视觉上会让人误判成字体变小了列宽变窄了然后花时间在字体设置里绕圈子。排查表格换行问题先看这三个地方单元格选项、表格选项、列宽设置看完再谈别的。这套顺序我用了很久到现在依然是看编辑标记 → 确认选区范围 → 改样式 → 上宏 → 动布局参数。十次里有七次问题在第二步之前就解决了。真到需要写宏、需要改 OOXML 的时候通常已经是几百页的批量活那反而是最轻松的——代码一次跑对剩下的时间去喝杯水就好。