爱德华·L. 德雷尔(Edward L. Dreyer)

元末有三方势力争夺长江流域,即以武昌为首府的陈友谅政权,以应天(今南京)为首府的朱元璋政权,以苏州为首府的张士诚政权。1363年鄱阳湖水战是这场争夺的顶峰。战役的结果是,大汉皇帝陈友谅兵败身死,朱元璋吞并了他的地盘,取得了打败张士诚的实力。张士诚数年来与朱元璋争夺长江三角洲,相持不下。1363年之前,元朝的江山鹿死谁手还是未知之数,1363年之后,朱元璋地盘的扩张势如破竹,1368年终于驱逐了蒙古人,于应天称帝。

鄱阳湖水战不但对明朝的建立意义重大,而且作为一场内陆水战,在中国军事史上具有典范意义。这一时期的军事目标是筑城城市,这些城市对控制周边的农业地区至关重要。这些城市之间的交通靠的是长江及其支流。于是这一段军事史就是船运军队攻城的历史。1363年,陈友谅水军包围南昌,朱元璋率水军前往解围,鄱阳湖水战由此展开。此战是中国历史上内陆水战中史料最完备的一场,但是西方学界却不甚留意。1

争夺中的战略要素

1356年朱元璋就将自己的首府设在应天,张士诚几乎在同时拿下苏州。双方都在江南扩张势力。1360年,张士诚政权除了苏州,还控制着松江、湖州、嘉兴、杭州、绍兴,以及江北一片人口不太稠密的地区。浙江沿海的庆元(今宁波)、台州、温州掌握在方国珍手里,其水师尤其精锐。朱元璋则占据今天浙江、安徽、苏南的其他部分。张士诚治下的人口约一千万,比朱元璋治下(约八百万)略多,基本上势均力敌。想要夺取对方的地盘,必须先夺取其他地盘扩充军队。

1359年,陈友谅已经夺得了席卷湖南、湖北、江西的农民军的领导权。次年称帝,国号为汉。陈友谅势力鼎盛的阶段,治下有一千四百万人口,比朱元璋和张士诚多出一半。2然而,他的政权最极端地体现了当时所有中国政权的普遍弱点:地方的军事力量掌握在地方长官,尤其是城池守将的手中。他们和自己主公的关系以私人忠诚维系,在陈友谅顺风顺水时便服从他,但如果陈友谅倒了霉,就会考虑另寻出路。

这个时代中国中部的战争是围绕城池展开的,每座城池都是一个广大区域的经济和行政中心。14世纪50年代的战乱结束后,中国中部的城市一般都有地方武装重兵把守,而且必然属于三家之一。当时简易火炮已经广泛应用,但城池攻防战中,守军仍然占有极大的战术优势。事实上,并不存在城防完备的城池没有经过围困而被攻下的,除非有内奸。所以攻占一座不愿投降的城池,唯一可行的办法就是围困。被围城池附近乡村的粮食往往都已经运进城中,所以围城军队的补给不能完全从被围城市周边搜集。因此,围城军队往往要从更远的地方运送补给到前线。

在中国南方,补给运输主要靠船。到1360年,长江流域的三个政权都有强大的水运能力。朱元璋政权的水运能力最弱。时人组建水军的初衷,无外乎向被围城市运兵运粮。于是人们很快发现切断敌人交通线的价值,随即产生对战船的需求。所以这些战船并不是与“陆军”(army)并立的“海军”(navy),而是陆军中的一支特种部队。14世纪50年代,大量渔民落草为寇,娴于水战,水兵往往从他们中间招募。1360年,一股巢湖的水贼加入了朱元璋的队伍,他们正是1363年鄱阳湖水战中朱氏水军的基础。他们只提供了骨干人员,却没有提供明确的水战方略。对比明显的是,大家非常明白船队对于补给和辅助攻城的作用。在辅助攻城方面,这个时代有一项重大创新:从船尾直接进攻临水城垣,夺取城市。1360年陈友谅就用这种战术攻占了太平。1361年,朱军在船尾架设“天桥”,攻占九江,报了一箭之仇。

散见各处的史料提到了种类繁多的武器,包括火炮、以火药为燃烧物的武器、弓、弩、攻城用的投石机和攻城塔楼。火器使用虽广,却尚未发展成熟,还不能成为战场的主导武器。当时的通行做法似乎是,在一个非常低的组织水平上,根据战术需要将所有武器混合使用(如同一两个世纪之后的欧洲)。所以史家所注意到的规模较大的军队都大同小异。对于交战双方的战斗命令,史料也语焉不详。当时的军队延续着击鼓进兵、鸣金收兵的传统,旗帜也用作指挥信号。鄱阳湖水战中,朱军舰队分为几支,指挥官的座船用旗帜标明。3

腹背受敌的朱氏政权(1360—1362)

朱氏政权在长江上游和下游都有敌人,经常面临两线作战,这种局面是对朱元璋帅才的严峻考验。朱氏政权内部的偶发叛乱和政变阴谋同样危险。这样危险的局面不使出浑身解数根本难以克服。

1359年,陈友谅在上游的武昌达到权力巅峰,但还未能将自己辖下的广大地区熔铸为一个团结无间的整体。办成此事之前,他就卷入了自己的部下、安庆军阀赵普胜与朱氏政权的战争。陈友谅杀了赵普胜,收编了他的部众,1360年夏,他率十倍于朱军的战船顺江而下,奇袭太平,随后称帝,还与苏州的张士诚结盟。朱元璋难以撼动陈氏对长江的控制。于是引诱陈友谅在应天以北登陆,跳入朱军的埋伏圈。汉军兵败如山倒,被杀被俘者三万,占总兵力的三分之一,巢湖的水手(以前是赵普胜的部下)也全体投降了朱元璋。朱军还俘获了许多战船,陈友谅逃到九江,慢慢收拢残部。

朱元璋则乘胜进军安庆,又派一支人马从浙江进兵,由陆路袭取广信。两路得手后,朱元璋认为陈友谅不足为患,转而全力对付张士诚。1361年夏,陈友谅重夺安庆,朱元璋得报后再度派兵前往江西。朱军舰队打下九江城后才发现,汉军已经连夜逃往上游。于是朱军一路扫荡,江西各邑守军往往望风逃窜。最后连江西首府南昌的守将也投降了。朱元璋升了降将的官职,收编了他的部众,换了更可靠的部队驻防南昌。

1362年初,朱元璋返回应天。与此同时,他的大将徐达正率水军将陈友谅围困在武昌。当时正值浙江苗兵叛乱,四座大邑被苗兵夺去两座,朱氏政权对浙江的控制危如累卵,朱元璋不得不从应天调大军入浙平叛。朱元璋突然返回,得以敉平叛乱。

原先在南昌投降的陈友谅旧部已经归入徐达麾下,见到江浙军队的调动后,他们倒戈回师袭取南昌。无奈之下,朱元璋只好令徐达放弃武昌,夺回南昌。徐达成功拿下了南昌,却让陈友谅获得喘息之机,得以重振力量。

1362年夏,朱军两员大将在应天发动兵变,几乎得手。外有叛乱,内有反侧,朱氏政权处在风雨飘摇之中。1363年初,张士诚出人意料地向朱元璋发动进攻。4

1363年2月,张士诚的大将吕珍突袭安丰,杀其守将,俘虏了朱元璋名义上尊奉的皇帝韩林儿。同月,饶州守军叛朱归陈。朱元璋认为张士诚的威胁更大,调集主力迎击。朱军夺回了安丰,救下了韩林儿,但没有消灭那里的张士诚军。庐州在巢湖之滨,其守将已经勾结了张士诚。攻下安丰后,朱元璋下令攻打庐州,4月底,朱军开始攻城,主力被绊在安丰城下三个多月。汉政权对江西的威胁不断加大。5

图5-1 1363年的鄱阳湖地区(注: 湖中岛屿尚多,图中不再一一标明)

南昌之围(1363年6—7月)

6月初,汉军号称六十万6乘舟而下,穿长江,入鄱阳,直薄南昌城下。朱军主力正在攻打下游敌人的门户,而自己的战略要地南昌却遭到上游敌人的猛攻。南昌处于鄱阳湖南岸,赣江入鄱阳湖的咽喉,可以控制大半个江西。无论是陆路还是水路,武昌离南昌都比应天到南昌近。朱军一直不能稳固地控制南昌。陈友谅为他新建的水军找了一桩本少利厚的生意。

1360年之后,陈友谅没有再亲自指挥过作战。1361年陈氏派部将回头迎击的作战,损兵失地更为惨重。1362年对抗朱氏的失利再次印证了这一点。陈氏“忿疆土日蹙”,决心与朱元璋决一死战。

图5-2 1363年的南昌

1362年初徐达从武昌撤围后,陈友谅得以集中全力造战船,练水军。一年之内,他就练成了一支新水军,规模更胜往昔,运送家属百官、士卒马匹、粮草器械都不成问题。然后他征发治下所有壮丁,乘船驶向下游。7

史书中对陈友谅最大的战船的描写是一致的:“皆高数丈,饰以丹漆,每船三重,置走马棚,上下人语声不相闻,舻箱皆裹以铁。”战斗的记载很清楚地表明,橹手都在最下一层甲板之下,很难听到甲板上的命令;而且胜负不靠撞角,而是靠船上互相射箭或者其他投射物。弓手站在很高的位置,这是火炮普及之前水战的特点。高层甲板比低层甲板短一些,所以船尾有三层甲板,而船头只有一层。走马棚在每一层甲板最前方露天的一端,后面有遮蔽部分则供人使用。所有这些都是以桨为动力的大船的标准设计。当然,内河船只不可能纯靠风帆行驶。

关于战船的大小和数量的史料不多,但是可以考证。8陈友谅在撤南昌之围后,派出巨舰“百余艘”试图突破鄱阳湖,随后投降的人数达五万之多。史料明确记载,速度快的小船逃掉了,而巨舰都被俘获。我们可以估算,一艘船大概可以装五百多人。如果其中有三百多人是桨手,每支桨由五人合力划动,则可以证实每侧船舷有“数十”支桨的说法。对已知信息的分析只能到此为止了。但这些证据都说明,陈友谅的“巨舰”确实很大,有着很高的箭塔,小船想要攻击它非常困难,但是它航速慢、吃水深、操控难。朱元璋意识到大船的诸多弱点,便一直拖延水军的行动,直到长江水位下降才开战。

史书还说陈友谅的所有兵马都在大船上,但这是不可能的,因为史书还提到了各式小船,在一场关键的水战中,一个小目标要五百艘小船去执行,但是每艘船肯定很小。在鄱阳湖大战中,数百艘巨舰被焚,可能绝大部分的汉军主力都在大船上,他们是正规军。老弱、家眷等都坐在普通小船上,这些船数量众多,都是从上游征用来的普通江船。

对巨舰笨重、涂有朱漆的描写记录,大概是想贬低陈友谅,揭露他对奇异而无用的事物的迷恋。然而,陈友谅是历经多年激烈的水战才当上皇帝的,说他没有意识到这种巨舰在真正的水战中会出问题是不大可能的。更可能的是,陈友谅想重复自己在1360年的成功:直接从船尾登上城垣的水门,夺取城池。朱元璋已经针对这一战术采取了预防措施,大举改建了南昌、安庆、太平的城垣,例如将水门移后,与河道拉开距离。应天城墙原本就离长江很远,这种战术难以奏效。

1363年,陈友谅的计划是突袭鄱阳湖及沿湖诸城,速战速决,避免长期围攻。那时朱元璋控制薄弱的港口腹地则会再次倒向陈友谅,大汉的巨舰就能直捣应天。此时汉军的力量已经足以压倒朱军。汉军的巨舰就是为执行此战略而设计的。结果巨舰久顿南昌城下,在鄱阳湖的激战中表现不佳。

南昌守将是朱元璋的侄儿朱文正。1362年叛乱平定后,朱文正就奉命坐镇南昌。1363年6月5日,汉军水师突袭南昌,未能得手。朱文正早已严阵以待。他自将精兵两千,居中策应,并分派手下大将负责防御各方。参政邓愈守南城抚州门;元帅赵德胜负责西城面对赣水的宫步、士步、桥步三门;9指挥薛显守北城的章江、新城二门(对新城门的猛攻导致了1362年南昌的陷落);元帅牛海龙守东城琉璃、澹台二门。10城内还有其他指挥和元帅,南昌的高级将领如此之多,可以推测朱军兵力约有三万。当时只有城墙能帮助他们抵挡汉军,甚至当陈友谅分兵攻略其他州县时也是如此。11

6月9日,南昌围城第五天,陈友谅亲率大军攻抚州门。他的士兵装备有篮筐形状的竹盾,以抵挡矢石。火铳或其他攻城器械肯定出现了。因为第一轮进攻就使城崩三十丈。邓愈立即反击,用火器将敌军击退。于是朱军便需要在城墙塌陷的处修筑土木工事,陈友谅反复发动进攻,阻止朱军修筑工事。邓愈修筑工事时,其他各方朱军主动出击,分散汉军的兵力,最后预备队也增援抚州门。朱军且战且修,终于在第二天清晨筑好了工事。12

陈友谅坐镇南昌城外,派遣一支汉军溯赣水向南。6月12日,朱军将领内讧,汉军攻克吉安。136月16日,长江上的另一支汉军攻克湖口下游的无为(湖口是长江进入鄱阳湖的入口)。14三天后,6月19日(南昌围城第十五天),陈友谅再次攻城,这一次他选择了新城门。负责守新城门的薛显开门迎击,汉军猝不及防,折损了两员大将。15接下来的三十五天里,汉军再未攻城,也没有其他调动。陈友谅想坐困南昌,迫其粮尽而降,同时修缮器械,补充武器。7月24日,围城第五十天,汉军发动总攻。这一次陈友谅的目标是突破水关的栅栏。朱文正派士兵手持长枪,藏在栅栏之后,敌人靠近即从栅内攒刺。汉军士兵的反应是出手夺枪。朱文正命令士兵将枪头烧红,敌人夺枪,手就会被灼伤。于是陈友谅对水门的进攻也告失败。史书评价“友谅尽攻击之术,而城中备御随方应之”16。

陈友谅计穷,又派兵攻打赵德胜防守的宫步、士步二门。赵德胜率军死守整日,傍晚时分他登上宫步门城楼指挥时,被敌军弩手认出,中箭身亡。17

虽然陈友谅未能迅速攻取南昌,但是他在围城的同时,还有余力分兵四出,恢复汉政权对周边地区的统治,表现出强韧的作风。南昌的防守已经接近极限,如无外援解围,终难久撑。我们先把朱军解围的事按下不表,来看看是什么把朱军的兵力吸引到了其他地方。

浙江的叛乱(6—8月)

6月8日,南昌围城的第四天,诸全守将、枢密院判官谢再兴叛变,杀知州栾凤,栾妻用身体掩护栾凤,也被杀死。谢再兴扣押了参军李梦庚、元帅陈元刚,亲赴绍兴投降张士诚,献出诸全。只有总管胡汝明抛妻弃子,单骑逃脱。事情的起因是朱元璋想免去谢再兴诸全守将之职。之前谢再兴的两个亲信向张士诚手下的杭州守将出卖情报,被人发现。这两个人被逮捕处决后,朱元璋开始怀疑谢再兴,因为这两人在谢氏亲军中极见信用。朱元璋召谢氏去应天,另派人统领诸全守军。谢再兴拒不从命,继而反水。18

1362年震动浙江的叛乱中,诸全虽然保持忠诚,但被张士诚的军队围攻。朱军在浙江的最高将领左丞李文忠只能派胡德智率一小队兵力救援。他虚张声势,扬言朱军主力正在逼近,张士诚军便在混乱中撤退了。这次李文忠再次派出刚升任参政的胡德智。胡氏奉命在诸全城外几里处宿营,监视动向,以防张士诚从这个方向进攻。19

李文忠是朱元璋的外甥,1358年随军攻打严州,随后五年一直在浙江。他将才卓著,又与朱元璋有甥舅之亲,所以被委以经略全浙的重任。李文忠的夫人是谢再兴的长女,而徐达夫人是谢家的次女。朱元璋正是用姻亲关系保证谢再兴的忠诚。没想到一旦地盘受到威胁,谢氏就立马反水了。

谢再兴叛变后,朱氏政权在浙江的势力再度岌岌可危。但直到江西的危机解除时,也就是谢氏叛变四个月后,朱元璋才能够大举进攻浙江叛军。10月23日,李文忠野战击败谢再兴,但未能攻克诸全。他的副手胡深建议在诸全附近筑城防备。2011月5日,张士诚派兵猛攻该城,朱元璋同意李文忠撤退。21

1363年浙江的战事再次说明朱元璋和张士诚处于胶着状态,这种状态就是从浙江开始的。诸全的陷落并不意味着朱氏政权在浙江的崩溃,朱军此前的胜利也没有动摇张士诚对北部沿海的控制。

1363年下半年,张士诚在力所能及的范围内给了朱元璋巨大的伤害,但总体上是引而不发的,他打的是渔翁得利的算盘。不过事与愿违,1364年朱元璋因为击败了陈友谅,势力陡增数倍。对于张士诚来讲,谢再兴之叛的意义在于牵制了浙江的朱军驰援江西。1360年,一支规模较大的朱军从浙江出兵江西,占领广信。1363年,朱氏政权在江西只有广信一城可以使用。诸全之变,加剧了1362年以来的动荡局面,使得更多的浙江朱军要留在本省。

朱军溯江而上(8月15—25日)

南昌被围两月,内外阻绝,音信不通(只有一个例外),粮食、兵员也无从补充。虽然据说汉军也损失了“六七万”人22,但数量占劣势的守军也接近油枯灯尽。于是朱文正用计安排了一次停战,利用停战的间歇,派人突破汉军的封锁送信出去。这件事一定发生在7月24日陈友谅最后一次总攻后不久。关于朱文正如何诱使陈友谅取消进攻,只有一条史料:“文正遣千户张子明赴应天告急。又诈遣卒号舍命王者诣友谅约日出降,友谅信之,缓其攻。至日,城上旗帜一新。友谅候至暮,见无降意,缚降卒至城下杀之。”23

史书认为,张子明赴应天求救是此役的关键。张子明乘东湖小渔舟,连夜出南昌水关,从没有汉军警戒的小河汊进入鄱阳湖,昼伏夜行,花了半个月到达应天。24陈友谅占领无为之后,其势力已经向长江下游大大扩张了,但史料并未提及安徽沿江诸城的情形。显然,陈友谅的水军虽已出现,但并未攻占这些城市。

史书将张子明冒险出城事系于8月4日,这一天一定是张子明来到应天的日子,因为两天后,朱元璋就命徐达等从张士诚政权的重镇庐州撤围。所以张子明去往应天的所谓“半月”,其实只有十一天,即陈友谅最后一次总攻的7月24日到8月4日。如果是这样,上文中提到的7月24日之后不久的停战状态,直到张子明到达应天时还未结束。

朱元璋问张子明南昌的情况,张子明说:“兵虽胜,而战斗死者亦不少。今江水日涸,贼之战舰将不利用。又师久粮乏,若援兵至,必可破也。”朱元璋命张子明返回南昌,告诉朱文正再坚守一月。

张子明返回南昌,经过湖口时被陈友谅的手下擒获。陈友谅让他劝降朱文正(也就是让他告诉朱文正,援军不会到了),并且许他以“富贵”。张子明佯装答应,到了城下却大呼:“大军且至,但当固守以待。”他被当场处死,但是对陈友谅的不利效果也产生了——南昌会继续抵抗。25

朱元璋让徐达从庐州撤围的命令是8月6日下达的。26《明史纪事本末》引用朱元璋的话:“为一庐州而失南昌,非计也。”27看整体的地理形势,这一点是很清楚。为什么朱元璋没有早点得出这个结论呢?张子明到达应天后十一天,集合在应天的军队才准备完毕。当时应天的一个大火药库刚刚遭受损失28,朱元璋仍可以如此迅速地组织一支大军赴援。这就说明,在张子明到应天求援之前,朱氏政权的中枢机关已经对江西的大势有着明白的认识。朱元璋或许是故意拖延,因为他希望庐州攻克在即。

8月15日,从庐州撤围的军队到达应天,在应天登船。他们走的路线并不清楚,但距离大概是一百六十千米。传令兵骑马从应天到庐州,再加上围城军队步行从庐州回应天,九天足矣。

朱军祭旗、出发也是在8月15日。朱元璋对众将说:“陈友谅构兵不已,复围南昌,彼累败不悟,是天夺其魄而促之亡也,吾当亲往耳。诸将其各整舟楫率士马以从。”29

救援南昌的朱军总兵力约二十万,各种史料差不多都是这个数字。但有一条史料则提到“舟师千艘,甲士十万”,30大概更接近真实。即便把汉军的伤亡和逃跑的人数剔除,其兵力也是朱军两倍之多。朱军水师也和汉军一样,有一个以大型战舰组成的核心,专事水战(其中很多都是1360年从陈友谅军中俘获的),其他各式小船用作辅助,执行运输、侦查、传递情报等任务,也属必不可少。史书没有探究守卫和补给的常规工作。但是从时间上仍然很清楚地看出,从应天赴援的朱军是完全走水路的(从广信赴援的朱军大约同时走陆路出发)。关于朱军战船的大小,史书记载的1360年的模糊数字是唯一的参考:平均每艘船上一百人。即使将帅的座舰会更大一些,但与陈友谅专门为此次大战建造的战船相比,还是逊色得多。

随朱元璋出征的将领有:右丞徐达、参知政事常遇春,这二人是朱元璋麾下最重要的将领;帐前亲军指挥使冯国胜;同知枢密院事廖永忠、俞通海,这二人是从前巢湖水军头目,现在则统领朱氏政权的大部分水军。他们对鄱阳湖水战影响最大。对于下级武官,参加这场战役将成为他们人生中的里程碑,足以与朱军首次渡江相比。

航行途中有两个插曲。“有大鱼二,鳞鬣异常,出没波浪中,夹上舟,泝流直过小孤,众以为龙云。”未来的皇帝在大战之前尤其需要吉兆。8月24日,大风吹翻了冯国胜的船,船体破坏严重,朱元璋命冯氏回应天修船。次日,水军抵达湖口。整个行程逆流航行约四百千米,用时九天,并无汉军水师前来截击。31

陈友谅南昌撤围(8月28日)

鄱阳湖与长江的交汇处就在湖口县城边上,湖口迤南还有一条约五十六千米长的狭长水道,过了松门山,湖面才豁然开朗。进了鄱阳湖,就能从水路到达江西的大多数城邑。因为江西的城邑大多沿赣江、抚河、信江、修河四大水系分布,而这四条河流都汇入鄱阳湖。所以湖口到松门山这段狭长水道是从水路撤出江西的必经之路。汉军占领了湖口,防备却很松懈。8月25日,朱军兵不血刃进占湖口。

朱元璋派指挥戴德率领一支人马,守住鄱阳湖与长江的真正的交汇处泾江口,又派一支人马守住南湖嘴,此地是水道的狭窄之处,紧临南康。32另外传令广信方面的朱军向西行军近二百五十千米抵达位于抚河上游、南昌东南的武阳渡,防止汉军由陆路从抚州方向赶来。33陈友谅掌握着吉安和临江,也就控制着整条赣江。都昌和饶州也屯有陈友谅的大军。如果朱军在鄱阳湖大战中取得决定性胜利(并没有立即发生),守在抚河上的这支强大朱军便能将汉军截断,使其无法从陆路集结。如果形势有利,这支人马也可以救援南昌。然而非常重要的是,汉军舟师从南昌撤围之前,广信兵不能向西过于深入,不然就会被汉军的优势兵力击破。

史书没有阐明,陈友谅没能守住湖口,是因为缺乏情报,还仅仅是因为过度沉迷于攻打南昌。张子明事件后,他必然知道朱军的援军将不日到来。谨慎起见,陈友谅应该立即最后一次强攻南昌,然后就把大军调往湖口和泾江口。扼住这个咽喉要道,朱军能不能进鄱阳湖就尽在陈友谅的掌握之中。即使考虑到三个月攻城的损失,汉军兵力也足够一面继续封锁南昌,一面扼守湖口。如果其兵力不足以支持两线作战,那么对他来说最急迫的事是,从速击破朱氏水军,防止其与广信兵或者南昌守军会合。在湖口决战,至少陈友谅还可以在战局不利时抽身逃回武昌。

时间已经过了许久,陈友谅一定不会还以为朱文正会遵守以前的投降协议。但7月24日之后,汉军再也没有攻城。接下来一个月,陈友谅只是死死围城,想用粮绝迫使城中守军投降。陈友谅很可能低估了朱元璋集结大军救援南昌的速度,认为朱元璋至少还有半个月才能赶到。8月25日,陈友谅已经错失先机,处境极其危险。

8月28日,朱军水师通过松门山水道,进入鄱阳湖。同日,陈友谅结束了八十五天的南昌之围,令大军登舟,经赣江进入鄱阳湖。34他现在唯一的希望就是击破朱军水师。开阔水域比峡口和赣江三角洲都有利于汉军水师,所以陈友谅迫不及待地接受了朱元璋的挑战。有人可能认为朱元璋的舰队较弱,而陈友谅则会拼死冲出鄱阳湖,而且作战条件非常有利。其实朱元璋也有很多选择。他嘴里说着要解南昌之围,但如果不能直接击破汉军达成目的,朱军水师还可以退往松门山水道或更远的地方,将汉军水师困在湖中。后来朱元璋也正是这么做的。

赣江在南昌以南,向北流经一片广阔的三角洲之后汇入鄱阳湖。史书没有明确记载陈友谅取哪条水路进入鄱阳湖。从双方第一次交战的地点可以推测,汉军水师的路线是经三角洲,到达赣江以东的抚河下游,从抚河河口进入鄱阳湖。陈友谅原先的意图或许是先同饶州守军会合,再迎战朱军。

如果陈友谅的意图真是如此,那他真要失望了。次日(29日),两军遇于康郎山。康郎山是鄱阳湖南部最大的岛。前一天朱元璋已告知众将:陈友谅听闻我军前来,已撤围迎战。康郎山之战当天,陈友谅派巨舰列队迎战,朱元璋对众将说:“彼巨舟首尾连接,不利进退,可破也。”35

这个判断可以和亚克兴(Actium)海战的传统解释相比较。亚克兴海战中,埃及舰队想要突破罗马舰队对海湾的封锁。希腊化地区三百年来在造舰领域互争雄长,埃及巨大但不灵活的战舰就是集大成之作。埃及海战的战术也相应落后,这些巨舰只能用作步兵的作战平台。相比之下,罗马海军是在一百多年来清剿海盗的过程中发展起来的,战舰一代比一代小,其基本策略就是将舰船本身当武器,用撞角破坏敌船的船桨。

在一定条件和范围内,可以用亚克兴海战为模型来分析鄱阳湖水战。第一,没有史料提到撞角,战船肯定也不是为此设计的。中国式的船只都是用方形木材建造的(square transom),没有能支撑撞角的重型龙骨。朱军战船优越的机动性是最重要的,因为他们可以占据上风位,用投石机发射燃烧弹或者施放火船都是有利的。第二,汉军的战舰之所以造得那么大,是把它作为攻城时的高度机动的辎重队,而不是用来水战的。在那个时代的战争中,水师一般而言只是攻城的辅助力量。船与船之间的厮杀是比较少见的。同样,朱军也只能用手头现有的舰船对抗汉军水师,没有时间,也没有意识专门针对汉军船只的弱点设计和建造战船。在这里必须强调的是,在浅水水域作战的战船,必须要保证吃水浅,即使牺牲其他性能也在所不惜。在设计专门辅助攻城的船只时,陈友谅赌了一把,赌的是速战速决,在长江汛期之内就可以拿下南昌。南昌久攻不下打乱了他的计划,他只能在夏末水位降低时打这场水战。这对朱元璋当然是一个意外之喜。第三,当指挥巨大笨重的船只时,最佳策略是将船只连在一起;而分散则会被各个击破。在鄱阳湖大战开始时,陈友谅遇到了严重的麻烦,但这是因为他早前犯的错误,在实际战斗中,他的表现还是值得称道的。

8月29日,双方遭遇的时间一定很晚,因为真正的战斗要到第二天才爆发。汉军战船排列紧凑,朱元璋将水师分作十一队,下令将士靠近敌舰时“先发火器,次弓弩,及其舟则短兵击之”。“火器”的定义并不明确,因为朱军从未在下风向发射过“火器”,所以“火器”除了指火铳(当时火铳刚刚用于实战),也可能包括发射燃烧弹的投石机。36夜间,双方水军落锚对峙。37

鄱阳湖水战(8月30日—9月2日)

8月30日清晨,徐达、常遇春、廖永忠率水军总攻,大战正式打响。三将指挥的兵力超过朱军的半数。徐达的座舰一马当先,首先与汉军水师接战。此役朱军杀敌一千五百人、俘获巨舰一艘。汉军水军主力迫近,经验丰富的朱军水军将领俞通海抢占上风向的位置,以投石机发射燃烧弹(“发火炮”),焚毁敌船“二十余”艘。38

这一波进攻并没有动摇汉军的阵脚。相反,打头阵的三支朱军舰队开始崩溃。徐达的座舰着火,汉军战船乘机围攻徐达座舰,朱元璋亲率预备队救援徐达,徐达扑灭船上的大火,“力战,敌乃退”。我们怀疑朱元璋是否加入了驱逐汉军的战斗,使徐达暂时脱离了战斗。其他史料记载,朱元璋旗舰外观特殊,而旗舰一般是通过不同的旗帜区分的。

汉军的反击是由大将张定边指挥的。他是非陈友谅亲属的最重要的大将之一。朱元璋的旗舰39搁浅在沙滩中,被汉船围住。汉船和朱元璋的船保持一定距离,以免也搁浅。张定边的旗舰继续向前冲杀。混战开始了。后来康郎山忠烈祠中供奉的许多人都是在此役战死的。朱军元帅陈兆先与程国胜向敌人勇猛冲杀,都战死了。元帅宋贵和指挥韩成也战死于此。韩成舍身报主,换上朱元璋的冠服,面对敌人,主动投水而死。可能此举震惊了敌人,汉军暂停了进攻。但是这再一次暗示了,他们不接近朱元璋的座舰是为了避免自己搁浅。

此时,常遇春率部反击,贴近张定边座舰厮杀。常遇春亲自弯弓搭箭,射伤了张定边;与此同时(中午和午后),朱元璋和徐达都不再战斗。俞通海来援朱元璋,再次挽救了局面。俞通海乘舟速度极快,掀起了巨大的波浪,朱元璋的旗舰摆脱了沙洲。张定边想逃走,于是朱军水师(或者剩下的有战斗力的部分)集中兵力对付他,俞通海和廖永忠选了最快的船追击,但明显并不坚决。40张定边的座舰中了“百余矢”,所部伤亡惨重。朱军的麻烦并没有结束。常遇春的座舰又搁浅了,幸而被随波而下的弃船撞上,在救援赶来之前就摆脱了搁浅。此时已经日暮,双方都无心再战。41

第一天的战事,最可惊异的就是朱军船只频频搁浅。五位主要指挥官,有两位的座舰搁浅。我们不得不推测,其他战舰其实也一样容易搁浅,大多数朱军船只都面临这个问题。但是没有史料说明汉军船只面临同样的问题,即使是最靠近朱军搁浅船只的也没有。由此我们可以得出三点结论:

(1)朱军的大船都由朱元璋、徐达、常遇春亲自指挥。这三人主要的作战经验是陆战,他们指挥的船只,为的就是和敌船战斗,战术是钩住敌船,士兵跳上敌船搏斗。俞通海和廖永忠两员大将,曾是巢湖水贼,有“水师”的经历。1355年朱元璋率军南渡长江,靠的就是他们的船只。此后他们的部属成为朱军水师的骨干。他们的船只轻巧、航速快,战术以使用远程武器为主。42同样的水域,朱元璋和常遇春的船接连搁浅,而俞通海的船进退迅捷;再对比他们的战术,一切就很明白了。

(2)朱元璋对白天战斗的计划是,先用重舰在前面牵制敌军(需要注意,虽然是重舰,但也比陈友谅的巨舰小了不少),以轻快小船绕至敌军侧翼和后方实施火攻。朱元璋希望如此打乱敌军阵脚,迫使敌军阵线向中间收缩,从而消灭一大部分敌军。他推测,汉军巨舰笨拙,侧后遭到奇袭,难以及时反应。他寄希望于自己最得力的两员水师大将能够奇袭得手。所有史料记载,这天早晨,朱元璋同时命徐达和廖永忠“进兵薄战”,模糊了这一图景。在接下来的战斗中并没有廖永忠的记载,直到午后追击张定边时,廖永忠才出现。无论他上午做了什么,他的任务和重型舰队的任务一定是不同的。可能他和俞通海各当一面,如果是这样,俞通海的舰队顺风发动火攻时,他则在汉军舰队的下风向,难以进攻。

(3)朱元璋的部署没有奏效,并不是因为将领们没有执行到位(这是次日的问题),仅仅是因为朱军的战船太弱。俞通海并没有打乱汉军的阵脚。汉军以压倒性的力量反击,将朱军赶进浅水水域。朱军舰船在浅水区运动不便,但同时也保护它们免受汉军巨舰的进攻。如果有人能考证出朱元璋是特意选择了背靠浅水区作战,那么将会大大提高人们对朱元璋军事才能的评价。但是无论如何效果是一样的:他成功地拖到晚上,汉军船只自行撤退了,在夜间有组织地作战几乎不可能。任何混乱对实力较弱的舰队都是有好处的。

白天的战斗挫伤了朱军的士气。朱军上下都不愿次日冒险再战,想打退堂鼓。朱元璋在自己座舰上召集众将,讲明次日的作战计划,令众将起誓死战到底,并派徐达回防应天。《明史·徐达传》则记载,首日战斗之后,朱元璋“知敌可破,而虑士诚内犯,即夜遣达还守应天”。43

然而,首日的战绩丝毫不能得出如此乐观的评价。8月15日之后,任何对张士诚进犯应天的忧虑都是符合逻辑的,但仅仅这一条原因还不能解释朱元璋为什么在8月30日晚上派徐达回防,其时还没有战胜汉军。这里还有一种解释:朱军不少战舰受损,徐达本人的座舰同样遭到损坏。朱军士气低落,次日战事的胜败难以逆料。在这种情形下,受损战舰会成为战斗时的妨碍,需要撤退时又十分危险。于是,让受伤战舰尽快撤出战场是顺理成章的事。朱元璋将这个任务交给了自己最信任、最得力的部将徐达。徐达很快担起了应天的防务。

8月31日清晨,朱军前进的角声响起。战斗再次打响。这次朱元璋亲自布阵,指挥进攻。陈友谅将自己的巨舰集中起来布阵(小船不在此列)。44朱军将士还对前日的战斗心有余悸,踟蹰不进。汉军战船巨大,“望之如山”,连朱元璋自己的旗舰都不敢近前。朱军水军右翼退却,朱元璋下令立斩队长十余人。

即使用了如此激烈的手段,朱军的进攻还是无法步调一致,取得显著成效。《太祖实录》记载:“诸军奋击敌舟,敌不能当。”其实朱军在这天一早就损失惨重,足以使朱军水师次日失去战力。参加上午战斗的将领有五个入祀康郎山忠烈祠。枢密院判官张志雄(1360年安排了巢湖水贼残部向朱元璋投降的事宜)的座舰折断了桅杆,敌方发现后,集中船只围攻。张志雄无路可走,自刎而死。同知枢密院事丁普郎“身被十余创”,死后仍不倒地,直立船上,手握兵器,保持着战斗的姿态。敌军“畏之若神”。还有三名朱军元帅也和他一同战死。

这一天的战斗,朱军是失利的。元帅郭兴向朱元璋进言:“非人不用命,舟大小不敌也。臣以为非火攻不可。”

在激烈的战斗之中,郭兴如何建言不得而知。因为以郭兴的官职,应该会有自己的座船。但《太祖实录》中给出的事件的顺序肯定是错的:准备火船至少要花几个小时,所以朱元璋如果等到下午风向转为顺风时才下令准备火船,日落之前是不可能做完的。郭兴一定是在上午的战斗结束后马上向朱元璋进言的,因为他提到了参战的朱军将领令人失望的行动。

朱元璋采纳了郭兴的建议,命令常遇春等人调集渔舟,装以苇草,苇草里放置火药,每艘船上扎起草人,草人都穿着甲胄,拿着刀枪。这些手段都是为了迷惑敌人,因为载满士兵的战船是不可能作为火船的。朱元璋选派若干“敢死之士”驾驶火船,希望能在最后一刻逃离。下午,东北风起,朱军位置变为上风位(同时证明了朱军阵线面对的敌军是靠南或者东南方的),朱元璋命令用“走舸”(桨划船)将七艘火船推向朱军战线最前方,乘风纵火,直迫敌舰。45风急火烈,而汉军巨舰结为水寨,本就进退不灵,加上风向突变,所以难以避开朱军火船。

大屠杀开始了。汉军舰船被焚毁“数百艘”,“燔焰涨天,湖水尽赤”,史书坚称朱军这一击就消灭了汉军大半兵力,以七千伤亡的代价歼灭六万汉军。46这个说法有一个证据支持,就是陈友谅的弟弟陈友仁、陈友贵以及平章陈普略在此役中被焚死。史书对于陈普略没有评价,而称陈友仁“枭勇善战”,友仁之死,陈友谅为之丧气。朱军借着火攻造成的混乱,继续进攻,并且跳上一些没有焚毁的汉军战船,又斩首两千余级。这两千人不包括被烧死的汉军士兵,因为烧死的是没办法计算“首级”的。47

即使考虑到史书夸张的癖好,朱军在8月31日下午大获全胜也是显而易见的。汉军船只焚毁“数百艘”的数字也可能是真的。因为接下来的战斗中,双方的实力更加均衡了。然而接下来的战斗也说明了两点:(1)朱军舰队自身损失惨重,次日全天都在修理船只;(2)朱军最终向湖口退却,可知汉军即使在8月31日损失惨重,实力依然强于朱军。

次日,即9月1日,没有战斗的记载。汉军舰队需要修理和重组。更让人奇怪的是,朱军没有乘胜追击,一举消灭汉军。按理说,敌军还乱作一团,破绽百出,应该趁夜再发动一次火船突袭(朱军预备的火船的总数目不清楚,31日下午的战斗只用了七艘,很可能还有剩余);纵然夜间不出击,次日也应该出击一次。然而,《太祖实录》对次日的记载只是朱元璋勉励部将。史书记载,汉军知晓朱元璋座舰的桅杆是白色的,事实上,朱元璋的座舰在前一天的战斗中就被辨认出了。但是朱军发现陈友谅设计想将朱元璋座舰与舰队主力隔开,这一计策要奏效,就必须识别出朱元璋的座舰。为了防止被敌军认出,朱元璋命令将所有朱军战船的桅杆连夜刷成白色。《太祖实录》记载,第二天“旦视莫能辨,敌益惊骇”。

史书的这段叙述也引发了很多问题。早在8月30日,汉军已经试图将朱元璋的座舰与朱军主力截断,而且付出了许多行动。光是这一天已经有太多证据向朱元璋证明他的座舰太显眼了。所以,第二天收到的一条情报不太可能是他隐藏自己座舰的唯一原因。桅杆连夜涂白,第二天一早敌人为之惊骇。因为战事在9月2日才重开,所以之前提到的“连夜”必然是9月1日夜间,这才和上文连贯,即9月1日整天朱军都在修船。傍晚,主要的修理工作结束了,朱元璋决定再加一项任务,将所有桅杆涂白,希望能造成敌军的惊慌。史料中没有提到朱军在这个时候遣返损坏严重的船只。48

9月2日早晨,康郎山附近战事重开。据说此时发生了一件不寻常的事:“时刘基侍,忽跃起大呼,太祖亦惊起回顾,但见基双手挥之曰:‘难星过,急更舟!’太祖如言入他舟,坐未定,旧所御舟以炮碎矣。友谅乘高见舟碎,喜甚。俄太祖麾舟更进,皆失色。”朱元璋的座舰并没有沉,这个段子是后来添加的,为的是表现刘基的巨大影响力。但是这件事告诉我们,敌人靠旗帜就认出了朱元璋的座舰。这反过来说明了桅杆涂白只是船只整修工作的一部分,并不是为了使所有的船看起来一样。

这一天陈友谅并没有将巨舰密集布阵,这样一来火攻便更难奏效了。然而,由于巨舰数量大减,朱军水师便可以将其分割包围,各个击破。汉军巨舰行驶迟缓,遂难幸免。上午的战斗中,常常是甲板上的汉军士兵已经被杀尽了,下面的桨手和舵手还不知道,依旧划桨操船。这些人最后连同船一起葬身火海。

朱军胜利的原因和两天前是一样的:汉军舰队没能贯彻协同一致的战术原则,没能使各船密切配合,以最大限度地发挥自身的体量优势。陈友谅意识到,大型船只组成的舰队,自然要集中布阵。然而,船只太集中又会带来灾难。很明显,汉军水师没有受过多少协同进退的训练,但是现在汉军统帅又害怕集中,结果是船只被各个击破。从部署的失误可以知道,汉军的将领并不擅长单纯的水战。这反过来又证明了前面的论点:1360年以后,最好的水师将领已经脱离了陈友谅的阵营。汉军水师主要的作用只是运输和攻城,这二者是有联系的。因为无论是组建汉军水师还是设计建造巨舰,都是1361年之后的事。当时整个巢湖水贼势力都投向了朱元璋。

上午的战斗中,俞通海、廖永忠、参政赵庸、汪兴祖(明水军的统领之一、佥枢密院事张德胜的养子。张德胜于1360年战死,同样出身巢湖的养子汪兴祖继承了他的职务)率六艘战舰深入敌阵,汉军巨舰在六艘船之前连成一线,朱军望不见六船,以为已经被击沉了,结果过了一阵,六艘船从敌船身旁绕出。“我师见之,勇气愈倍,合战益力,呼声动天地,波涛起立,日为之晦,自辰至午,敌兵大败,弃旗鼓器仗,浮蔽湖面。”俞通海等回阵,朱元璋向他们贺捷。这场勇猛的厮杀是整场战役的转折点。49

大战落幕与陈友谅之死(9月2日—10月3日)

9月2日,大约中午前后,双方决定暂时休战。汉军做出这个决定是可以理解的。先是受挫于南昌城下,打破了速战速决、直捣下游的计划。现在又在四天之中连打三仗。此时看来,朱军明显占了上风。朱军对汉军相对的实力,比刚开战时大大增强了。汉军的战略目标一个一个落空,将帅意志动摇,陈友谅也不例外。这是比物质的损失更为致命的。连续四天,双方不是交战就是修船备战,而这一连串战斗对汉军来说,都是出乎意外的遭遇战。汉军实力折损严重,需要休整,争取时间制定力所能及的新目标。

汉军高层信心动摇的一个明显信号是,张定边想挟持陈友谅退保鄱阳湖北部的鞋山岛,50在那里重整旗鼓。这件事只见于《太祖实录》,也没有给出更多细节。然而结果是,张定边并没有因此获罪。9月2日上午,汉军联舟发动了这几天以来的首次集中攻势,但既没有冲破朱军的包围,也没有逼退他们的阵线。陈友谅只得听从张定边的主张,收兵后撤数里自保。虽然后面的决策还是由陈友谅做出,但是他似乎未能恢复往日的权威,一切都要仰赖张定边。指挥层的变故并不能给汉军带来好处。现在,他们唯一的选择就是冲出鄱阳湖,返回武昌。但是汉军对朱军的优势很微弱,不足以保持攻势。这个决定最后由合法性不如陈友谅的张定边做出,说明败局已现,出于对曾经与自己平起平坐的新贵的嫉妒,那些有了投降之心的汉军将领更坚定了自己的主意。如果这个推测是正确的,那么张定边最终逃回武昌所率的汉军残部多是从前的私兵。

同日午后,朱军战舰停泊在汉军五里外的柴棚,并发起挑战,51汉军不应。深水区对汉军舰船有利,朱军不想在深水区进攻。后面的事情需要解释。有人向朱元璋建议暂且后撤,让士卒休息。朱元璋立刻否决了此议,并说:“两军相持,先退非计也。”俞通海进言:“湖中水浅,移师长江较为得计。”朱军在长江上也有优势:因为汉军巨舰用桨橹操作不便,在任何水流中都更加危险。讨论中,刘基还提到了星象问题(“期金木相犯日决胜”)。朱元璋最终同意移师长江。

史书中给出的理由并不充分。史书一直夸大朱军的胜利,而其实朱军的损失也很惨重。52但非常清楚的是,朱军在8月31日战后与汉军的相对实力明显增强,并且在9月2日掌握了战术主动权。虽然汉军实力依然胜过朱军,但是当天的战斗本身还不能迫使朱军后撤。有证据显示(见《明史·常遇春传》),大概半个月之后,朱军士气低落,很大程度上是这次战略撤退造成的。但是在紧急关头,朱元璋总能使自己的部下竭尽全力拼死一搏。此时汉军士气比朱军还低。俞通海的言论很奇怪,浅水对汉军更不利,所以鄱阳湖是有利于朱军的。但是俞通海就在现场,而且是一个驾船的好手。他认为朱军在长江上与汉军势均力敌甚至略胜一筹,这个观点可以被接受——前提是能诱使汉军按照他的计策行事。

这就涉及一个关键问题。要解南昌之围,必须歼灭或者绕过汉军舰队。所有史料都集中于朱军舰队在上游的进展和在鄱阳湖上的战斗。在南昌得到受到援助和补给之前,两场消耗战已经发生,问题在于是南昌先陷落,还是汉军先溃败。另一方面,如果朱军解除了南昌的危险,将其牢牢掌握,扼住赣水流域的门户,那么朱元璋可能会退守长江和鄱阳湖之间的水道。那样的话,汉军水军必须沿路攻打戒备森严的朱军据点,而且前进的每一步都是在极端不利的战术条件下。即使在9月2日,汉军依然十分强大,而且很可能数量超过朱军。事实上,汉军实力的确不俗,其中一部分能够突破重重险阻回到武昌。然而,朱军在9月2日上午并未败阵,如果朱军撤退不是因为失败,那么真相只有一个:朱元璋知道(至少是相信)南昌已经脱险。

因为朱军水师还没有到达南昌,这暗示我们,广信的人马很可能已经在9月1日之前抵达南昌,因为将情报传递给朱元璋至少也要用一天时间。史书在8月25日的条目中明确记载,广信的军队已经从陆路派出。史书是这么记载的:“师次湖口,先遣指挥戴德以一军屯于泾江口,复以一军屯南湖嘴以遏友谅归师,又遣人调信州兵守武阳渡,防其奔逸。”湖口是鄱阳湖入长江的地方,泾江口更在湖口下游,而南湖嘴在鄱阳湖到湖口的狭长水道之间。这一部署大概是在朱军到达湖口时同时做出的。武阳渡在南昌东南的抚河上,如果当年的行军路线是沿着今天的铁路线,那么朱军从广信出发需要行进二百四十千米。

中国的军事作家认为,步兵加大车的军队一天可以行进三十里。53如果给广信军的命令是在朱军到达湖口之后发出的,广信军到达武阳渡要到九月末了。然而,史书的措辞,让我们能够做出更为合理的解释:朱元璋决定出兵鄱阳湖时,就给广信军下达了命令。那是8月6日,朱元璋命徐达常遇春撤庐州之围也是一个证据。如果广信军准备时间是一周(水军准备也只用了九天),那么他们从广信出发的日子应该是8月15日,如果是这样,那么在康郎山之战打响时,他们应该已经到达南昌附近。广信军到底有多少人马不得而知,但是肯定比南昌的守军要少,因为浙江行省的大部分朱军都被牵制在本省。然而,陈友谅没有留一兵一卒封锁南昌,如果留了,史书会有战斗的记录,也就不用费力气推测陆路援军存在与否了。即使从陆路出兵的初衷只是防止汉军主力的会合,广信军的指挥官一旦发现围困南昌的汉军并没有自己预想的那么强大,自然会前往支援。

还有一条证据说明上文对南昌解围的推测是正确的。在顺江而下攻打湖口之前,陈友谅派出五百只船去抢掠南昌的粮食。54朱文正派出一支人马奇袭,将汉军的抢粮船一把火烧光了。陈友谅没有抢到一粒米。如果不是相信南昌有粮,他是不会派船出去的。这些粮食应该不是来自南昌本地的粮仓。久围之下,南昌城中肯定不会留下什么粮食;汉军驻扎了三个月,南昌四郊也不会有粮。最后只剩下一种可能,粮食是广信军接济的。

可以确定,统领广信军的就是6月收复诸全未果的胡德智。史书没有记载他在这一年晚些时候参加了诸全战役,说明他那时还在江西。这路军队没有参与战斗,史书只是含糊提及。但是这支军队从陆路支援南昌,发挥了极其重要的作用,朱元璋因为他们才得以暂停与陈友谅进行危险的、不对称的水战。9月2日夜,朱军放弃阵地,秘密撤退。汉军次日清晨才发现这一情况并采取行动。湖中浅滩极多,夜间撤退容易搁浅,于是朱元璋命令每艘船的船尾挂一盏灯笼,整个舰队排成一字长蛇阵,每艘船都跟着前面的船行驶。之后每天的时间轴并不清晰,所有的事都系于两天之中。从康郎山到第一个锚地左蠡山至少需要两天。左蠡山在都昌县西北的水道之中,朱军到达那里不会早于9月4日。陈友谅发现朱军北撤后,也向北追踪,最后泊舟于左蠡山附近的潴矶。朱元璋并没有派兵扼守松门水道。55

双方抛锚相持了三天,延续着9月2日以来的僵局。刀兵的搏杀暂停了,文字的交锋随之展开。此时陈友谅的大军开始呈现瓦解之势。汉军内部最严重的叛离事件是左右金吾将军的反水。这件事也真切地说明了汉军众将的困境:

友谅左右二金吾将军率所部来降。先是,友谅数战不利,参谋于下,其右金吾将军曰:“今日战不胜,出湖实难,莫若焚舟登陆,直趋湖南,谋为再举。”其左金吾将军曰:“今虽不利,而我师犹多,尚堪一战,若能僇力,胜负未可知,何至自焚以示弱。万一舍舟登陆,彼以步骑蹑我后,进不及前,退失所据,一败涂地,岂能再举耶?”友谅犹豫不决,至是战多丧败,乃曰:“右金吾之言是也。”左金吾将军闻之,惧及祸,遂以其众降。右金吾见其降,亦率所部来降,友谅失此二将,自是兵力益衰。56

汉军依然强大,朱军仍要退避三舍。但汉军众将帅,包括陈友谅本人,对于突破封锁、打回武昌,都不那么有信心了。

朱元璋还没有抵达更下游的预定地点。他想要在左蠡山附近再打一仗,前提是汉军要在朱元璋预定的水域发动进攻,为此朱元璋设下一个圈套。他在陈友谅到达潴矶后致信,信中多有侮慢之辞。信的第一部分是对双方战争的冷静评价,表示刀兵相见绝非所愿;结尾部分则笔锋一转,非常有趣地提到陈友谅的船只:“公乘尾大不掉之舟,顿兵敝甲与吾相持……”这封信没能挑动陈友谅出战,但他为了泄愤,将俘虏的朱军尽数处死。朱元璋却释放了汉军的俘虏,凡伤者都予医治,并下令祭奠战死的汉军将领。除了左右金吾将军,肯定还有不少汉军来降,只是史书中没有专门记载。57

朱元璋一直期待的左蠡山防守反击战落空了。汉军越来越绝望,等他们主动进攻大概是不可能了。于是他决定移师湖口,这个决定的做出不早于9月8日,很可能是之后几日。汉军还停泊在潴矶,陈友谅犹豫了十五天。9月23日当天或者稍后几天,他已经没有时间了:“友谅住湖中既久,食尽,遣舟五百余艘掠粮于南昌,都督朱文正复使舍人陈方亮潜往燔其舟。友谅粮绝,势益困。”58汉军掠粮失败的事说明了在胡德智的广信军和南昌守军会师后,已经完全控制了南昌周边地区,朱文正是最高指挥官。

如今的汉军,要么放手一搏,要么坐以待毙。下一条记录出现在10月3日,记载了他们的决定:“陈友谅穷蹙,进退失据,欲奔还武昌,乃率楼船百余艘趋南湖嘴。”10月3日是决定被执行的日期。汉军从潴矶向下游进发,在南湖嘴打一仗之后才能到达湖口和泾江口,所以进军南湖嘴的决策要比10月3日早几天。陈友谅派往南昌掠粮的船队,抵达、战败、消息传回,至少需要四天。如果派出的时间确如上文推测的是9月23日,那么汉军进军南湖嘴的日期大概是9月28日。

朱军已于9月10日从左蠡山移师湖口,并于县城周边立栅。南湖嘴和泾江口也有朱军驻扎,这两支人马在后来的战斗中起了重要作用。泾江口的驻军原先的任务是,万一朱军惨败,他们就是阻挡陈友谅的最后一道屏障。如果朱军战胜,单凭南湖嘴一支人马就可以截住汉军,防止其逃回武昌。鄱阳湖之战中,汉军虽然损失惨重,但并未溃散,而且实力很可能在朱军之上。朱元璋必须用这支兵力去补充二者的不足。常遇春和廖永忠率一路舰队“横截湖面,邀其归路”,而朱元璋率军移师湖口略微上游的长江江面。

除了主力舰队,朱元璋还派兵攻占上游约一百一十千米的池州和兴国。这支军队得手后,带回“十余艘”海船,可能在决战中派上了用场。59

朱元璋此时下定决心,在鄱阳湖汇入长江处堵截汉军,阻止其回到武昌。汉军要想突破封锁,首先要突破南湖嘴的岸防,然后在湖口外与朱军决战。朱军的部署确保了两支舰队在战役进行中都将到达泾江口。汉军水军向上游入长江会遭到朱军的堵截,并因为战斗的环境而陷于混乱。朱军舰队会向上游追击行驶较慢的汉军舰队,如果双方陷入胶着,一起漂向下游,那么汉军舰队会远离武昌。这个战略是俞通海首次建议撤出鄱阳湖时提出的:“湖有浅,舟难回旋,莫若入江,据敌上流,彼舟入,即成擒矣。”60

很多史书里说,此时朱军士气高涨。而《明史·常遇春传》里的一段文字却否定了这种说法。《常遇春传》描写了8月30日到9月2日的战事之后,接着写道:“诸将以汉军尚强,欲纵之去,遇春独无言。比出湖口,诸将欲放舟东下,太祖乃命扼上流,遇春乃溯江而上,诸将从之。”61失败主义者的名字没有记载,不管他们身份如何,这条史料说明,未被击败的朱军士气之低落与被封锁的汉军相当。朱元璋做出背水一战、有进无退的部署,为的就是给手下官兵最后一战的勇气。如果朱军士气较高,可能9月2日之后朱元璋就会坚决阻止陈友谅进入松门山水道。可能上文记载的事件发生在9月8日之后几天,所以当汉军发动总攻时,朱军已经休整了三周了,而这三周正是汉军后勤补给不断恶化的三周。

汉军舟师从潴矶出发,攻打南湖嘴,没有费什么力气就突破了。汉军继续前进,10月3日早晨到达湖口。当汉军舟师进入长江、准备溯流而上时,湖口江面警戒的朱军水师截住了他们,朱军水师主力也很快赶到。朱军对自己一个月前的胜利记忆犹新,准备了火船火筏,点燃之后乘着西风顺流而下,62冲入接近的汉军舰队。汉军舰队马上分散开来,掉头向下游撤退。之后双方陷入混战。最后,朱军舰队截住试图逃向上游的汉军战舰,这些战舰相持不下,向下游飘去。傍晚时分,汉军舰队漂到了泾江口,泾江口的朱军也投入战斗,在汉军水师挤作一团时,陈友谅中流矢而死。63

陈友谅战死的结局,最初有一个算命先生告诉过他。这位大仙准确地预言了1362年的反叛,由此得了神算的名声。其后,汉军降卒也确认,陈友谅在换船时,被流矢射中了眼睛,箭镞入脑,立时毙命。朱军听闻友谅的死讯,大呼喜跃,越发奋勇。陈友谅的太子也在此役中被俘。

日落之前,朱军水师泊在岸边,大多数汉军战船也这么做。你可以想象汉军将领之间产生了多么激烈的争论。陈友谅死了,他的太子被俘,两个弟弟也战死。一个月之间,有威望统领全军的人一个不剩。张定边想要代陈友谅的次子陈理摄政,而众将并不接受。张氏和其他两位将领连夜逃走,他们乘着小舟,走更浅更曲折的水道,躲过朱军的追击,最终他们逃回武昌,维持住了汉政权。张定边安葬了陈友谅,立陈理为帝。

10月4日,即张定边逃走的次日上午,余下的汉军投降了。其中,值得特别提及的高级降将有五人,指挥以下投降者五万余人。朱军完整地接收了汉军战船及其中的物资,令人骇怪的是,在一场生死一线的突围中,船上竟然还载有马匹。64

对于朱元璋来说,最大的收获还不是俘获的船只和人马,最重要的是,朱元璋牢牢控制住了江西,当时江西的人口是湖南湖北人口之和的两倍。一旦江西的人力物力动员起来,那么朱元璋的下一步棋——灭吴,就更有把握了。

1364—1365年,朱元璋都在忙于安定江西、征讨湖广。1366年,朱元璋大举进攻张士诚。此时朱军气候已成,难以抵挡。1367年,朱军攻破苏州。其后,朱氏政权开始同时向各个方向扩张。1368年朱元璋称帝时,明军一边在华北平原驱逐蒙古军队,一边凭借水师在华南沿海攻城略地。1363年之后,朱元璋再无兵力短缺之虞。从这个角度看,鄱阳之战的意义就更深远了:没有1363年的以少胜多的苦战,朱元璋就无法夺取全中国,此后的中国历史将完全改写。

回顾这场战役,朱军的胜利得益于对船只的有效运用。陈友谅仅仅把船只当作攻城的器械,张士诚的水军除了偶尔运兵,经常按兵不动,朱元璋的水军则用途广泛,且长于水战。实战中,朱氏水军用火铳、火船等武器纵火,用铁钩等拉住敌船,登船近战。当所有这些都无法击败敌军的优势舰队,朱军对鄱阳湖口的控制被证明是决定性的因素。

附录 朱氏政权的军事组织和等级

朱元璋占据应天,是韩林儿名义上的丞相。韩林儿伪称自己是大宋皇帝。朱氏政权直到1367年还是隶属于“大宋”的地方政权。朱元璋在应天建立的中央政府最高派出机关“行中书省”,自任丞相。行枢密院和行中书省平行,是名义上的最高军事指挥机构,朱元璋自任行枢密使。朱军最重要的将领都挂行中书省衔,这就意味着行中书省同时也是最高军事指挥机关,行枢密院则沦为闲曹,只有在授予最高级以下的军官等级的时候,枢密院在制度上的重要性才体现出来。1361年,废枢密院,设大都督府,朱元璋的侄子朱文正为都督。朱文正作为朱元璋之下的“总司令”,也是名义上的。因为1362—1364年之间他实际上只负责南昌的防务。带枢密院衔的将领在1361年之后仍然保留枢密院衔。

除了朱文正和冯国胜(冯氏的职务比较特别,是“帐前亲军指挥使”),朱明军将领大概有七个层级,它们依次是:左丞、右丞、参知政事、同知枢密院事、佥枢密院事、同佥枢密院事、枢密院判官。最上层的三个其实是行省的文职头衔,这三个级别的将领独立统率浙江和江西的军队,或者在主力部队中受朱元璋直接指挥。后四个级别的将领或驻守重要城池,或是分统诸军。其他政权中将领的层级也大抵如此。

朱军起源于地方性的非正规的军队,在14世纪50年代混乱的十年中诞生。朱军一旦夺取一座城池,往往就会将其守军改编为一翼,其指挥官成为元帅。小一点的守军,约一千人,则命名为府,长官称总管。除了这些独立城市的守军,在应天还驻有十万大军,由朱元璋直接指挥,分作八翼。其中两翼是应天的守军,一翼是水军(秦淮翼),余下的前、后、左、中、右五翼则是主力野战军。1364年,翼的编制正式废除,翼被重新划分为卫,长官称为指挥。总管府变为千户所,长官称为千户。一个卫编制为五千人。这次改编具有双重意义:第一,1363年鄱阳湖大战之后,大量汉军编入了朱军,这就使得改编变得必要;第二,朱元璋个人权力大增,他第一次可以随意黜陟官员。1363年时,朱军的组织远没有这么正规化。主动投效的军官,还会保持原来的等级,统领原来的军队。所以朱军同时存在着各种不同组织形式的残余。元帅和指挥、总管和千户是最常见的校官。

虽然武人的地位在朱氏政权初创时期非常重要,但朱元璋也致力于在所征服的地区建立正规的文官政府。每一个朱氏政权的地方政府长官,一般都有在应天任职的经历,他们在一定程度上起到限制军事长官权力的作用。见拙著《朱元璋的崛起,1360—1365》(页98—120,469—479)。对这一时期朱氏政权的军事制度最好的研究当属青山治郎《朱吴国翼元帅府考》(《骏台史学》第13期,1963年3月,页91—116)。

1本文是根据本人的博士论文“The Emergence of Chu yuan-chang:1360—1365”(Harvard University,1970)第六章修改而成。所有日期都换算成了公历。

2关于1360年三方控制的人口数,见“The Emergence of Chu yuan-chang:1360—1365”,pp. 88—98,459—469。

3“The Emergence of Chu yuan-chang:1360-1365”,pp. 139—157.

4“The Emergence of Chu yuan-chang:1360—1365” pp. 158—280.

5据和田清的研究,朱元璋麾下将士普遍崇敬韩林儿,朱元璋也无法忽视这种心理,见和田清:《明の太祖と紅巾の賊》,《東洋学報》第13卷第2號,1923年7月,页288—290。虽然巢湖的水手劝说朱元璋攻打庐州,但朱元璋并没有长期围困庐州的清晰动机。

6战事之初,汉军水师的实际人数最多三十万上下,是史料中说的“六十万”的一半。“六十万”只是一个刻板印象,《平汉录》(沈节甫:《纪录汇编》卷二八,台北,民智书局,1965,页9b)提到苻坚从长安出发时率军“六十余万”。关于汉军水师的人数,有三种说法:(1)攻南昌损失六七万;(2)水战第二天损失六万,此处将第一天战死的一千五百人和第二天才收集到首级的两千人一并算入;(3)战役最后投降五万人。只有第三条有可能是准确的,前两条有可能夸大了。

国初群雄事略》(卷四,页19b—20a)引用俞本《纪事录》,湖广三分之一的成年男子都征召入伍了。1393年湖广地区有四百七十万人口,1363年的人口肯定更少,而成年男子的数量大概不会超过总人口的四分之一,照这样算,陈友谅还是有可能征到三十万人的,但一定达不到六十万。罗杰斯(M. Rogers)研究认为,383年苻坚南侵很大程度上是想象出来的(M. Rogers,The Chronicle of Fu Chien [Berkeley and Los Angeles,University of California Press,1968],pp. 64—69)。与苻坚南侵相比,1363年陈友谅倾巢东侵的史料要准确得多。陈友谅的水军比朱元璋的强大,也是很清楚的。

7胡广等撰:《大明太祖实录》卷一二,页3a;谈迁:《国榷》,北京,中华书局,1958 年;《明史纪事本末》卷三,页12ab。壬戌即6月5日。

8《国初群雄事略》(卷四,页19b)引用《纪事录》,陈友谅所造舟船,大者乘三千人,次者两千五百人,最小者两千人。这个话是靠不住的。如果这个数字是常规装载人数,那么这些船比19世纪初欧洲的海军主力舰要更大,欧洲的主力舰船当时最多只能装载一千人,而且会极其拥挤。中国人那时可以制造比西方大得多的木船,但这种船无法仅靠划桨驱动。其他的史料记载的汉军舰船的最大装载人数比《纪事录》的说法小很多,但比朱元璋的任何船都要大。它们逐字引用了《太祖实录》卷一二中对汉军舰船的记载。

9麾下兵力有数千人。参见《明史》卷一三三,页12b;黄金:《皇明开国功臣录》卷二,北京图书馆缩微胶卷,页11b。他在1363年统领的人马很可能并不比1360年多。

10关于南昌的城门,见同治十一年《南昌府志》卷九,页1b—2a;光绪六年《江西通志》卷六五,页3b。

11《武备辑要》卷一二,页71a;《救命书》(上),12b。

12《太祖实录》卷一二,页3b—4a;《国榷》,页301;《明史纪事本末》卷三,页12b。丙寅即6月9日。

13《太祖实录》卷一二,页4a;《国榷》,页301;己巳即6月12日。

14《太祖实录》卷一二,页4b;《国榷》,页302;癸酉即6月16日。

15《太祖实录》卷一二,页4b;《国榷》,页302;《明史纪事本末》卷三,页12b。丙子即6月19日。

16《太祖实录》卷十二,页5a;《国榷》,页302;《明史纪事本末》卷三,页12b—13a。辛亥即7月24日。

17《太祖实录》卷一二,页5a;《国榷》,页302。

18《太祖实录》卷一二,页3ab;《国榷》,页301。乙丑即6月8日。

19《太祖实录》卷一二,页3ab;《国榷》,页301。栾凤和胡德智的传记附在《明史》卷一三三《胡大海传》之后。胡德智后来的失宠见《太祖实录》卷五一,页7a。

20《太祖实录》卷一三,页4b;《国榷》,页307。壬午即10月23日。

21《太祖实录》卷一三,页4b。乙未即11月5日。

22《国初群雄事略》卷四,页184;叶子奇:《草木子》卷三,页16a。《草木子》的表述非常模糊,“合战鄱阳,前后相持者八十余日”,这指的是围攻南昌的时间(八十五天) ,没有把后面水战的时间算进去。当时叶子奇并不在场,所以不能知道他的确切意思。本文所用的版本是1786年刻本,四卷,自序署的年份是1378年。

23《太祖实录》卷一二,页5b;《国榷》,页302;《明史纪事本末》卷三,页13a—14a;壬戌即8月4日。

24《太祖实录》卷一二,页5b;《国榷》,页302;《明史纪事本末》卷三,页13a。

25《太祖实录》卷一二,页5b;《国榷》,页302;《明史纪事本末》卷三,页13a—14a。

26《太祖实录》卷一二,页5b;《国榷》,页302;《明史纪事本末》卷三,页14a;甲子即8月6日。

27刘辰:《国初事迹》(《金声玉振集》本,页15b):“为一庐州而失江西大郡,岂兵家之法?”

28《太祖实录》卷一二,页5a;《国榷》,页302。丁未即7月20日。

29《太祖实录》卷一二,页6a;《国榷》,页302;《明史纪事本末》卷三,页14a。癸酉即8月15日。

30《天潢玉牒》,《纪录汇编》卷一二,页5a。提到朱军的船只数量,所有史料都用“千艘”一词。这些船中很多都是1360年俘获的汉军船只,当时这些船就有“千艘”之多。1360年集中在应天的朱军,加上原来的守军约有十万人。除了那时归附的巢湖水贼的残部,胡廷瑞部的归附也使得朱军主力大大扩充。但是因为需要一支可靠的大军镇守南昌,这些新获得的兵力大部分被抵消了。所以1363年时赴援南昌的朱军大概不会超过十万。

31《太祖实录》卷一二,页6a;《国榷》,页302;《明史纪事本末》卷三,页14a。壬午即8月24日,癸未即8月25日。

32泾江口在湖口下游不远的长江北岸,南湖嘴在湖口到星子县(南康府治)的水道的最狭窄的地段。《明史·戴德传》和《皇明开国功臣录》(卷五,页12b)都没有提到这个部署,也没有提扼守南湖嘴的将领是谁。

33《太祖实录》卷一二,页6a;《国榷》,页302;《明史纪事本末》卷三,页14a。

34《太祖实录》卷一二,页6ab;《国榷》,页302—303;《明史纪事本末》卷三,页14a。丙戌即8月28日。

35《太祖实录》卷一二,页6a;《国榷》,页303;《明史纪事本末》卷三,页14ab。丁亥即8月29日。

36《太祖实录》对更传统的武器着墨更多,但是明军已装备了相当数量的火器。《国初群雄事略》(卷四,页19a)引《纪事录》,列举了火炮、火铳、火箭、火蒺藜(可能相当于小型燃烧弹)、大小火枪、大小将军筒、大小铁炮、神机箭。还有一种两船相靠时向敌船扔炸药包的发明——“没奈何”,据《纪事录》记载,敌船面对这种攻击无处可逃,但是对于施放炸药包的船来说,同样危险。

37《太祖实录》卷一二,页6a;《国榷》,页302;《明史纪事本末》卷三,页14ab。

38史书记载他“乘风纵火”,可见并没有使用火炮。见L. C. Goodrich and Feng Chia Sheng,“The Early Development of Firearms in China.”Isis 36:114—123(1946)。

39《国榷》页303提到朱元璋旗舰名叫“白海”。

40此时俞通海受到了强大的压力,见《明史》卷一三三,页4ab;卷一二九,页10b—11a。

41《太祖实录》卷一二,页6b—7a;《国榷》,页303;《明史纪事本末》卷三,页14b。戊子即8月30日。

42《国初群雄事略》(卷四,页19a)引用《纪事录》证明廖永忠和俞通海分统朱军水师的两翼。

43《明史》卷一二五,页2b;《太祖实录》卷一二,页7a;《国榷》,页303;《明史纪事本末》卷三,页15a。

44《明史纪事本末》直接说“连锁为阵”,而《太祖实录》只说“联舟”。汉军舰船互相靠得太近,操控不便,《三国演义》第四十七到四十九回,曹操采纳了铁索连船的建议,结果被敌方的火船焚烧殆尽,《明史纪事本末》中加的“连锁”二字可能就是来自这个传统。《大明英烈传》里描写得更细致:刘伯温登上祭坛祈求风向转变以利于朱军火攻,同《三国演义》中的诸葛亮借东风如出一辙。参见Chan Hok-lam,“Liu Chi(1311—1375)in the Ying Lieh Chuan:The Fictionalization of a Scholar-Hero,” Journal of the Oriental Society of Australia 5:1—2;25—42(1967)。跟本研究相关的地方在于,两部小说都说明中国将领清楚地认识到,只有风向对的时候才能实施火攻。风向的转变很可能只是偶然,而朱元璋已经预备好了火船,只等机会出现就发动火攻。汉军船只挨得太近,对风向的突转猝不及防。

45《明史》俞通海和廖永忠的传记记载,火攻是这二人执行的。见《明史》卷一三三,页4b;卷一二九,页11a。

46《国初群雄事略》(卷四,页20a)引《纪事录》。如果算上回防应天的徐达部的损失,整个朱军的损失更大。俞本将前两天的水战都系在8月30日,记载红船(陈友谅一方)损失了二十艘,白船(朱元璋一方)损失了七艘,这七艘指的明显是火船。正如在1360年,俞本虽然参加了战斗,但是没有参与计划制定,所以不知道那七艘船是用作火船的。《纪事录》时间顺序偶尔错乱,而细节栩栩如生,是事后回忆常见的情况。

《平汉录》(《纪录汇编》卷二八,页8b)记载8月30日汉军损失两三万人,而31日只损失两千人。两三万人只能是第二天的损失数字,我没有对这些数字进行单独计算,因为已经包含在俞本给出的六万人中。。

47《太祖实录》卷一二,页7ab;《国榷》,页303—304;《明史纪事本末》卷三,页15a—16a。己丑即8月31日。

48《太祖实录》卷一二,页7b;《国榷》,页304;《明史纪事本末》卷三,页16a。 庚寅即9月1日。《纪事录》(引自《国初群雄事略》)称汉军舰队为红船,朱军舰队为白船。有史料提到陈友谅的战船会涂成红色。有一种说法认为朱元璋的船只的桅杆在战前就已经涂成白色,只是有些船在9月1日完成了重新涂刷,《纪事录》的记载支持了这一说法。

49《太祖实录》卷一二,页7b;《国榷》,页304;《明史纪事本末》卷三,页16ab。辛卯即9月2日。

50鞋山即大孤山,在湖口以南的水道中。《国榷》和《明史纪事本末》都记录这是陈友谅本人的主张,而被朱军挫败。不管主谋是谁,这是放弃鄱阳湖的计划。

51《中国古今地名大辞典》认为柴棚在“都昌县东南”。

52四天的战斗下来,明军的损失大概在五分之一到四分之一,其中包括回防应天的军队的损失。王崇武注意到朱军的胜利有限,而汉军实力依旧强大。见王崇武:《明本纪校注》,香港,龙门书局,1967,页85—86。

53这个数字出自《孙子兵法》。

54大多数史料都说是都昌,而《明史纪事本末》中南昌才是正确的,因为朱文正没有力量去阻止都昌的劫掠。南昌在那时叫洪都,但是在所有这些史料还没有编纂的时候就已经改名南昌了。

55《太祖实录》卷一二,页7b;《国榷》,页304;《明史纪事本末》卷三,页16b—17a。

56《太祖实录》卷十二,页8ab;《国榷》,页304;《明史纪事本末》卷三,页17a。这段故事应该是真实的,因为他们刚投降时,会当着掌管书记的幕僚的面,将此事禀告朱元璋。

57《太祖实录》卷一二,页8b—9a;《国榷》,页304;《明史纪事本末》卷三,页17ab。

58《太祖实录》卷一二,页9b;《国榷》,页304;《明史纪事本末》卷三,页18a。

59《太祖实录》卷一二,页9ab;《国榷》,页304;《明史纪事本末》卷三,页18a。

60《明史》卷一三三,页4b。

61《明史》卷一二五,页13a。

62《国初群雄事略》卷四,页20b,引《纪事录》。

63《太祖实录》卷一三,页1ab;《国榷》,页305—306;《明史纪事本末》卷一八,页18ab。壬戌,即10月3日。傅友德在鄱阳湖水战中遇汉军前锋,身被数创,其后又与诸将邀击汉军于泾江口,陈友谅败死,傅氏因此声名鹊起。见《明史》卷一二九,页6a。徐达返回应天时,可能在泾江口留下了一些伤势较轻的士兵。

64《太祖实录》卷一三,页1ab;《国榷》,页305—306;《明史纪事本末》卷一八,页18b—19a。