曹操撤到颖水南岸的第三天,吕布收到了陈宫的信。信上说曹操的营寨扎在颖水以南的一片平地上,地势低洼,北面是河,南面是一片树林,东西两侧都是开阔地。营寨的布局中规中矩,但有一个明显的弱点:北面靠河的那一侧没有设栅栏,只有一条浅壕沟,像是觉得河水本身就可以挡住偷袭。
吕布看完信,在灯下坐了一会儿,伸手探了探窗外吹进来的风向,然后站起来,把地图铺在案几上。陈宫的信上说河水深不过膝,骑兵可以涉水过河。他没有犹豫多久,把地图卷起来放进木匣里,转身走出书房,穿过院子时步子很快。貂蝉正在廊下收衣服,看见他走过去的背影,没有开口。她看了一眼书房门,灯还亮着,窗台上那张摊开的地图不见了。
吕布在校场上找到了张辽,他说今晚要亲自去一趟颖水。张辽没有多问,只问了一句要带多少人。吕布说三千骑兵,够了。张辽说那末将去集结。吕布说不用集结太多,先把马喂饱,把蹄铁换好,天黑之前在校场东侧待命。张辽抱拳转身走了。
入夜之后,河内的城门无声地打开了一道缝,三千骑兵鱼贯而出,马蹄裹了布,人人口中衔枚。吕布走在队伍最前面,他没有打旗号,在马上伏低了身子,赤兔马的鬃毛在月光下泛着一层淡淡的银光。队伍沿着官道向南行进了大约一个时辰,在颖水北岸的一处缓坡上停了下来。吕布下马,走到坡顶蹲下身朝南望去,曹操的营寨在夜色中灯火通明。营寨北面靠河的那一侧果然没有栅栏,只有一道浅壕沟。吕布蹲在坡顶,把那些守卫的巡逻路线看了一遍,又看了一遍,确认了换岗的间隙和暗哨的位置,然后站起来,走回马边,翻身上马。
他拔出方天画戟,朝前一指。三千骑兵同时动了。涉水过河时马匹的前蹄踏进河水溅起的水花在月光下闪了一下就暗了,水花顺着蹄铁落下,重新汇入河面,像什么也没有发生过。最先上岸的骑兵没有等后续的部队完全渡河就进入了营寨,他们翻过那道浅壕沟,割断了哨兵的喉咙,然后沿着营寨北侧向东西两个方向散开。
吕布没有亲自冲在最前面,他带着一队骑兵停在营寨北侧的一处高地上,望着那些正在展开的骑兵。火把在黑暗中点燃时,像一条被缓缓拉直的引线,沿着营寨内部迅速蔓延开来。营地里的曹军士兵大多还在睡梦中,被突如其来的马蹄声和喊杀声惊醒,冲出帐篷时迎面撞上的是雪亮的弯刀和正在燃烧的火把。
曹操在帐中被亲兵叫醒时,外面已经乱了。他披衣出帐,看见北侧火光冲天,营帐正在燃烧。他没有问吕布是怎么渡河的,只是翻身上马,带着亲兵往南面退去。他的动作比平素快,但不算慌乱,像在一边移动一边确认北面的火线是否正在沿着他预想中的方向蔓延。曹仁从东侧赶来接应时,铠甲只穿了半副,右手的刀还没有出鞘,像是刚从帐篷里冲出来。
吕布没有去追曹操。他的目标是打乱曹军的部署,不是活捉曹操。他看到曹操的旗帜正在往南移动,没有下令追击,让骑兵在原处多留了一会儿,确认火势已经蔓延到营寨中段,才下令收兵。三千骑兵沿原路涉水返回北岸,除了少数轻伤之外,几乎没有什么损失。吕布走在队伍最后面,他勒马在颖水南岸回望了一眼,火势还没有完全熄灭,像是有一封被扯破的信正在风中慢慢烧完。
张辽在河道北岸列好了接应的阵型,等吕布过了河,他问了一句:“将军,曹操跑了吗?”吕布说跑了。张辽说那明天还来吗?吕布说等他回来再说。他调转马头,沿着官道往河内方向驰去。身后的骑兵跟着他,马蹄声在夜空中渐渐远去。
当天夜里,吕布回到河内时天还没有亮。他在县衙门口翻身下马时,看见蔡文姬正站在门洞里面,手里提着一盏灯,像是一夜没有睡,又像是刚醒不久,还穿着夜里御寒的厚衣。她问了一句:“将军回来了?”吕布说回来了。蔡文姬没有问他去哪里了,像是一开始就知道他去的是颖水方向。她把灯举高了一些,照了照他的衣袖和铠甲边缘,确认没有血迹之后才把灯放低,说了一声:“粥在灶上温着。”她转身走回了屋里。
吕布在院子里站了一会儿,吹过墙头时带着颖水方向烧焦的气味和深夜水汽的潮气。他走进厨房时看见灶台上的粥碗用盖子盖着,碗沿还留着一道热气的余温。他坐下来喝完那碗粥,把碗洗干净放回碗架上,然后回了书房。他在案前坐下来,没有点灯,在黑暗中坐了很久,像是在重新描画一道今夜已经走过、但还没有完全固定在心里的路线,确认它是否可以在下一次被更准确地复刻。
貂蝉在第二天早上才知道吕布昨夜出了城。她没有多问,从蔡文姬的简短叙述中大致拼凑出了路线和时间。她照常给吕布端来了早饭,照常问了一句昨夜顺不顺利。吕布说顺利。貂蝉没有追问,把碗筷收拾好端回了厨房。她走出厨房时在门槛边停了一下,像在替一扇尚未合拢的院门留出它所需要的最后一道缝隙。
颖水南岸,曹操在退到许昌以东五十里处才停下来。清点损失时发现昨晚被烧了二十多顶帐篷,损失了几百匹战马,但主力还在。他在临时扎营的帐篷里坐了很久,对站在门口的曹仁说了一句:“吕布打了我一个措手不及。”曹仁说主公,我们撤得够快。曹操没有再接话,手边没有茶,也没有地图,他只低头看着帐篷底布上一片被踩过的泥印,像是那上面有他还需要再读一遍的信息。