垓下小考(修订稿)
菜九作《千古谁识战垓下》以为把垓下之战的事情讲清楚了。因为刘邦根本没有停战休兵的意思,并非临时受谋士鼓动才毁约,而是早早地就为项羽布下了天罗地网,只等项羽撤退进入陈下、阳夏即今天的河南太康这个地方,就会受到汉势力的全方位围攻。事实也正如刘邦安排,楚汉在陈下展开的决战,实则是汉对楚的围歼战,汉取得了压倒性胜利。菜九原以为经此一战,垓下无需再战,于是否定了垓下有战。现在看来未必。所以那个功课等于留下点小尾巴,这个尾巴还是处理一下才好。于是有必要对垓下这个地方做点考据,如果不弄清地点,垓下之战的事情就不可能讲清楚。
关于垓下,刘项二本纪的描写小有出入。《项羽本纪》只记楚军驻扎于垓下,项羽弃军逃跑于此,没有提垓下有战。《高祖本纪》记了垓下有战并项羽兵败后于此驻扎,然后弃军逃跑。菜九否定垓下有战的理由是,既然战败了,就不可能在战败处驻扎,世界上哪有这样的事啊?从而否定垓下有战。菜九此论或者偏激了,没有考虑到存在垓下有战但没有驻扎这样的可能性。
先来看看垓下在什么地方。现在的较为流行的认识是垓下就在安徽灵璧。泷川资言《史记会注考证》称:垓下,安徽府灵璧县东南有垓下聚,即高祖围项羽处。这个解释出了三家注的范围,完全是另一个地方。不知泷川资言为什么不沿着三家注的内容加注?◇集解 徐广曰:“在沛之洨县。洨,下交切。”骃案,应劭曰:“垓音该。”李奇曰:“沛洨县聚邑名也。”○索隐 张揖三苍注云:“垓,堤名,在沛郡。”□正义 按:垓下是高冈绝岩,今犹高三四丈,其聚邑及堤在垓之侧,因取名焉。今在亳州真源县东十里,与老君庙相接。洨音户交反。经考察,洨县就是今天的安徽省固镇县,真源县就是今天的河南省鹿邑县。《水经注·淮水》:洨水又东南流,迳洨县故城北。县有垓下聚,汉高祖破项羽所在也。郦道元晚于徐广,又早于司马贞与张守节。这一下出现了三个叫垓下的地方,相距好几百公里。怎么回事?固镇与灵璧为邻县,考虑到古今行政区域变迁,两地指认的垓下位置接近,可视为一地。网络查检,果然1965年固镇设县前,固镇垓下确实为灵璧所辖。那么至少有两个垓下。依菜九的菜鸟见识,三家注的鹿邑的垓下是垓下名字的原始出处,而固镇的垓下、灵璧的垓下则是根据历史记载即《史记》而后定的名字。换言之,鹿邑之垓下是先于楚汉决战的,灵璧与固镇的垓下之名则应该是后于《史记》的。这样一来,其中的猫腻就出来了。
三个或两个垓下,菜九倾向于鹿邑为真实的垓下所在地,鹿邑即灌婴会师刘邦颐乡的苦县。楚汉和约应该有东部汉军西撤的内容,灌婴从淮北彭城西撤就在鹿邑驻扎,估计韩信西撤也会到这个地方,此地与楚汉决战之阳夏紧挨着,两个大军决战,波及此地也很正常,灌婴甚至不要挪动地方,就可以直接与楚军开战。因垓下之战与陈下之战地点过于接近,可以视之为一战。当然,陈下之战与垓下之战也可以分开来,是一个决战的两个阶段。项羽南撤在陈下(阳夏太康)遭到汉军的伏击,被杀得大败。但项羽很快组织起残部,到了垓下这个地方,摆开阵势与汉军再战,就是史料中韩信指挥、刘邦押阵的那一场,但楚军还是遭到失败。这个地方就应该是鹿邑的垓下。如果真的有此战,则垓下之战是项羽最后的抵抗。与此前的陈下决战一样,项羽的楚军还是完全落下风,汉军取得全面胜利。但项羽并没有覆灭于战场,应该是突围出去了。只是突围后再度驻扎的地方,也被记为垓下了,黥布等各路人马全部集中到那个垓下,据说是今天的灵璧或固镇,应该是那个四面楚歌的地方了。只是那个地方当时未必叫垓下。换一个思路换一个角度,即使世界上真有两个叫垓下的地方,项羽败于一个垓下,又突围驻扎于另一个垓下,也未免太过于巧合了。真要有这样的两个同名地点,项羽肯定不会选择驻扎,太晦气了嘛。但如果菜九理由如此过硬,后世的人们还是硬要认为这样不碍事,菜九也拿他们没有办法。
还原一下当时的场景:因为垓下与陈下挨得很近,这几处发生的大战可以视作同一个战役。项羽从围歼战突围后,本想继续原定南下方案——去九江国,但听说了城父沦陷于来自九江方向的叛军,知道九江国去不成了,才折向东面。城父现在亳州东,这样距最后的驻扎地灵璧或固镇就近多了。到了灵璧或固镇的最后驻地,项羽所部又被汉军团团围住,项羽最后弃军逃跑,残部八万人遭到汉军的屠杀,地点大概就是灵璧或固镇了。
闲话少说,垓下在鹿邑,与灵璧或固镇没有关系。只是司马迁在这个事情上一垓到底了,后人照猫画虎,将灵璧或固镇的古战场也冠以垓下之名。至于项羽最后逃跑的地点是否在灵璧或固镇,或者也不易确定。即使有大量遗迹证明,难保不是后人附会的,其实际说服力并不强。比如菜九老家巢县有个地方叫散兵,就是得名于项羽的兵到此落败,而项羽最后一战与巢县没有一点关系。据菜九所知,很多地方都有项羽最后一战的古迹,比如徐州西北郊的九里山,九里山前古战场也是名气不得了大,但项羽最后一战与那里一点关系也没有。灵璧或固镇的情况也非常类似。至多灵璧或固镇是项羽弃军逃跑处,与垓下之战没有任何关系。至于垓下歌,也是后人命名的,不代表那个地方就叫垓下。
结论:垓下的具体位置是在河南鹿邑,决战发生在那里的可能性不大,因为前面的陈下之战才是决定性战役。如果垓下有战,则为项羽徒劳无益的垂死挣扎,估计项羽发现此战无法取得上风,就开始突围了。之所以认为垓下有战规模也不大,完全是因为项羽最后弃军逃跑后,留在当地的军队居然有八万之多。是否垓下有的那战,楚汉两军没有深度交织作战,否则项羽不会保留如此之多的军队。
探秘:为什么司马迁在垓下问题上一垓到底,全然不顾其中的不谐调。菜九以为是市面上汉固陵之败的传闻误导了司马迁。所以,为了保全张良计谋及其实施效果的史料,垓下之战、项羽之败就必须安排在固陵大败之后。汉固陵大败,张良设计,韩信、彭越赶到,楚汉再战,汉终于取胜,确实非常生动,但不是真的。因为陈下之战已经是决定性的了,张良设计的场面根本不会发生。汉败固陵的记录,菜九已经在《千古谁识战垓下》中将其批得体无完肤了。固陵就是陈下,就是阳夏,就是汉预先设伏、最终大胜楚的地方。楚汉的最后一战根本不是刘邦听从谋士的建议临时兴起的,而是经过长期周密的布局,精心选择了陈下这个地点,整个汉阵营对撤退的楚军进行围歼。韩信、彭越不存在爽约,都是早已到位。从事件的过程可以看出,刘邦的设计得到完美的实现,一举击垮了楚军。受到重创的楚军根本没有可能大败汉军,所以汉军不需要重新集聚力量,再行组织战役。仍然基于安置张良计谋及其实施效果的原因,史料中城父陷落在垓下会战前的顺序或者有误。菜九的理由是,陈下的决定性战斗已经结束,楚军从垓下突围后发现这个情况,就改变去九江的计划了。既然楚已经没有力量再行决战了,黥布等后续到达的部队,也就没有参战,只是加入了围困楚军之役。
赘言:菜九写一个文字的过程中常常会跑题去写别的。其中最多的情况是在写作过程中发现一个更容易解决,或更亟需解决的问题,一般而言,这个新情况多半是包含在那个正在写作文字里面的。估计有半数情况确实会如菜九所料,很容易拿出一个小制作来,有时也会搞成一个体量上与前一制作不相上下的制作。如果不留神,这样的跑题跑远了,忘记返回来,就会造成一个烂尾工程。所以在浏览电脑时,每每会发现这样的烂尾,确实很可惜。写刘邦下棋的时候,发现为汉立了大功而没有嘉奖的周殷,就另开了段秦楚之际周氏群星闪耀文字,确实只一二天搞定;垓下这段文字也是写刘邦下棋时发现垓下之战还需要把地点推敲一下。因为原来在《千古谁识战垓下》文字中基本否定垓下有战或者有误,准确的表达或者应该这样说,垓下可能确实有战,但项羽从垓下战败突围后,再次被包围的地点不在垓下,只是被误记为垓下了。这里可能是司马迁的笔法失误,造成了历史的误读。
包括楚汉最后一战的详细考察过程,请参看《刘邦在下一盘很大的棋2》。
(初刊《菜九段集2017卷》)