东晋末年,刘裕率军相继攻灭南燕和后秦。这两场战事是南方政权对北战争的最高峰,主要表现在:(一)战前综合考虑了地理、季节、兵种、补给等诸因素,计划严密周详;(二)针对北方的骑兵优势,总结出了一套行之有效的对抗手段;(三)从统帅到士兵都有较高的素质,纪律严明,作战积极性高。这些因素保障了对燕、秦战争的胜利,且对南朝的战争形态、政治形势产生了较大影响。
第一节 刘裕伐南燕
战争背景与刘裕的进攻部署
398年,北魏对后燕发动进攻,占领中原。部分慕容鲜卑在慕容德的带领下渡过黄河,辗转在青州立国,建立南燕政权。此后慕容超继任为南燕皇帝,逐渐对东晋采取攻势。
义熙五年(409年)二月,燕军数次袭掠淮北,引起东晋边境的恐慌。此时,东晋掌权的是以刘裕为首的北府军人集团。次月,太尉刘裕宣布亲自出征南燕,所率兵力主要是扬州禁军和徐州北府兵旧部。四月,刘裕所部开始进军。(关于此次战役,可参考图6)《宋书·武帝纪》:
图6 东晋灭南燕之战示意图
(义熙)五年二月,(南燕)大掠淮北,执阳平太守刘千载、济南太守赵元,驱略千余家。
三月,公抗表北讨,以丹阳尹孟昶监中军留府事。
四月,舟师发京都,溯淮入泗。[1]
这样迅速地做出伐国之谋,在东晋南朝战争史上颇为少见。[2]慕容超袭扰东晋是一时心血来潮之举,事先并无预兆。刘裕此次伐燕时,岭南尚有卢循的天师道武装,益州有谯纵的割据政权,晋军颇有后顾之忧。但这也有一定积极作用,就是使东晋军队一直保持着比较高的动员程度,可以迅速转入实战状态。刘裕伐燕的总兵力并不多,大概在三到五万之间,但大都是经历过对孙恩、卢循天师道军及桓玄作战的北府旧部,富有战争经验,这也是晋军能迅速参战的重要原因。
刘裕伐南燕之战的记载主要来自《宋书·武帝纪》及诸将本传,以及《晋书·慕容超载记》。这些都是战争结束后的追记,战争开始前及过程中的诸多细节都被忽略,需要进行还原。下面就是这方面的初步尝试:
四月,刘裕所部以舟师发自建康,经运河驶入淮河,继续溯泗水北上,经过一个月行至下邳。在这段时间,南燕可能对晋军的动向有所了解,但未必知晓刘裕志在灭燕的决心。因为晋军也可能在边境发动有限的袭扰,作为对燕军进犯淮北的报复。晋军舰队到达下邳后,按照以往荀羡、桓温等北伐的经验,应继续驶往彭城,溯泗水北上。由于行将进入雨季,河道水量充沛,晋军舰队可以溯流行至高平郡登陆,收复南燕占领下的鲁中地区,逐步进逼燕都广固(今山东省青州市);或者继续经桓温故道驶入济水,直至距离燕都广固百余里之遥的渤海郡,从那里登陆展开进攻。这种依托河道的战术已经成为晋军北伐惯例,不仅是因为舰队可以携带大量后勤辎重,而且依托河道和舰船,可以抵消北方军队的骑兵优势(桓温伐前燕,在弃舟步行时遭遇敌骑兵的惨重打击,就是这方面的教训)。
但刘裕在下邳的决策,与以往北伐惯例完全不同:
五月,至下邳,留船舰辎重,步军进琅邪;所过皆筑城留守。鲜卑梁父、莒城二戍并奔走。[3]
晋军在下邳弃舟登陆,徒步沿沂水向北进军。从下邳到琅琊(今山东临沂)之间,是鲁南、苏北的平原地带;再向北是沂蒙山区(时称大岘山),翻越山区之后,就是燕都广固所在的鲁北平原。刘裕这个反常方案,是综合考虑晋军后勤特点、战区地形及两军兵种差异等因素之后的大胆创新:
首先,船行速度慢,受河道影响而路程较长,会留给燕军足够的备战时间;如果燕军采取阻塞河道等措施,将难以避免在平原上展开会战。且战场距离广固尚远,即使晋军完胜,慕容超闻讯忧惧,感觉大势已去,很有可能逃窜他国—向西可以逃奔后秦,向北过黄河可以投靠北魏,甚至有可能浮海北归辽东。如果慕容超等策马狂奔,离广固尚远的晋军根本无力追及。
其次,是作战地形的考虑。晋军陆行至琅琊后,乘南燕未及反应,能迅速进入大岘山地。山区地形陡峭、林木茂密,骑兵部队难以展开冲击,便于步兵行军。燕军骑兵只能在山地北麓的平原上等待晋军。但出山之处距离广固只有五十里,晋军一战而胜,就可以兵临敌都城之下。当然,燕军也可能在山地据险设垒,阻击晋军。但双方在山林间步战,骑兵优势无法发挥,晋军胜算更大。再则,如果把决战地点定在出山之处,万一晋军战败,也可迅速收缩回山地,据险阻缓慢后撤。这要比在平原上决战失利容易处置得多。
最后,是后勤方面的考虑。在从下邳到琅琊的平原上,刘裕沿途留下兵力修筑堡垒据点,形成一条后勤保障通道,为持久战争和万一失利撤退做准备。但另一方面,跨越大岘山的后勤通道并不易维持。所以刘裕将翻越山地,开进到南燕核心区(鲁北平原)的时间定在了六月,以便乘小麦刚刚收割之际从当地征集粮食。
按照计划,从下邳登陆之后,以步兵为主的晋军需要走过近千里征途,于六月间到达鲁北平原,便可与燕军进行决战。届时,晋军深入敌境千里,“则人无退心,驱必死之众,向怀贰之虏,何忧不克!”[4]
南燕君臣的应对策略
燕军在鲁中山地两侧的驻防重点,是西方的梁父城(兖州治所,今山东泰安市南)和东方的莒城(徐州治所,今山东莒县),分别防范来自东南方和西南方的威胁。
晋军上陆攻占琅琊后,南燕君臣开始意识到,晋军这种步步为营的进军策略并非只为骚扰报复,而是以攻灭南燕为目的。燕朝廷为此举行会议,重臣公孙五楼的意见是进行主动阻击,阻止晋军进入大岘山区,迫使其进入持久战。同时派骑兵从梁父、莒城出发,切断晋军后方通道,待其断粮疲惫时将其击退:[5]
吴兵轻果,所利在战,初锋勇锐,不可争也。宜据大岘,使不得入,旷日延时,沮其锐气。可徐简精骑二千,循海而南。绝其粮运,别敕段晖率兖州之军,缘山东下。腹背击之,上策也。
这个策略虽然最为完善,但在晋军已经进占琅琊时,已经缺乏部署和实施的时间。因为琅琊城距离大岘山区只有数十里之遥,燕军从广固和梁父、莒城出发已难以实施阻截了。公孙五楼的“中策”却可以实施:
各命守宰,依险自固,校其资储之外,余悉焚荡,芟除粟苗,使敌无所资。坚壁清野,以待其衅,中策也。
纵贼入岘,出城逆战,下策也。
“中策”和当年前秦对抗桓温的策略一致,即防止即将成熟的小麦落入敌军之手。如果这个策略付诸实施,刘裕军队将面临和桓温在关中相同的窘境。但慕容超认为燕军的骑兵优势完全可以对付以步兵为主的晋军,所以不愿进行破坏性很大的坚壁清野工作。他计划待晋军开出大岘山区之后用具装骑兵进行打击,予以全歼:
超曰:“京都殷盛,户口众多,非可一时入守。青苗布野,非可卒芟。设使芟苗城守,以全性命,朕所不能。今据五州之强,带山河之固,战车万乘,铁马万群,纵令过岘,至于平地,徐以精骑践之,此成擒也。”
为执行这个“下策”,燕军开始修缮都城广固及临朐(在大岘山出山口处)等城,集结兵力准备会战。梁父、莒城的军队也调回广固备战。这使得晋军顺利穿越大岘山区。史载刘裕军队开出山地时,看到燕军没有据险阻击,平原上的小麦也正在收获,不禁以手指天称庆。[6]
战事进程:临朐战役与广固围城
燕军原已在山口处的临朐城集结五万兵力。到了六月,晋军即将翻过山地时,慕容超担心前方吃紧,又亲自带四万军队增援临朐。燕军占据了出山处的水源巨蔑水,试图使晋军人畜无法饮水。晋军骑兵在孟龙符、刘钟、沈田子带领下,前往争夺水源。双方骑兵发生激战,孟龙符战死,但晋军驱逐燕军占领水源,使主力部队得到补给。[7]
晋军进入平原后,为对抗燕军骑兵,将四千辆辎重车布置在步兵队列两侧,车辆外侧张挂布幔以防箭矢,驾车者都持长槊站立车上防范燕骑兵的冲击。步兵队列在车辆内侧行进。当行至临朐城南数里时,上万名燕军具装骑兵驰出城外与晋军交战。双方主力逐渐全部投入战斗,激战持续至傍晚未止。刘裕采用部下胡藩的建议,派五千晋军撤出战场,从侧面迂回到临朐城下,登上城墙砍倒燕军旗帜,并扬言是从海道而来。[8]此举使燕军以为遭前后夹击,军心动荡全线崩溃。[9]慕容超带残兵逃回广固。晋军缴获了临朐城中燕军的全部辎重。临朐战役为时仅一天。战前,南燕几乎将全国军队都集中在此,所以这一战役之后,燕军主力军都已陷入溃败。
刘裕晋军于次日进围广固,掘长壕阻断其内外联系,同时向燕境各地进军,接管了南燕地方的郡县政权。当地征集的粮食已经足够晋军食用,无须依赖后方运输。北方汉人不甘被异族统治,渴望晋政权的回归,对晋军提供了较多帮助。北魏统治下的汉人也纷纷渡过黄河投奔晋军。[10]
相对于一天之内解决掉燕军主力的临朐战役,广固围城战旷日持久。慕容超曾试图遣使向后秦求救,但后秦被赫连勃勃所牵制,无法提供援助。慕容超看外援无望后,曾向刘裕提出称臣纳贡等条件,希望维持小国之君的地位,但被刘裕拒绝。围城战自义熙五年(409年)六月持续至次年二月,历时八个月方破城,慕容超被俘至建康斩首。青齐地区首次成为东晋直接管理下的疆域,[11]直到宋明帝时被北魏攻占,南方政权统治山东半岛达六十年之久。
第二节 刘裕北伐后秦
灭南燕之后,刘裕又经历了攻灭卢循天师道军、蜀地谯纵政权的战争,和东晋内部的两场内战(对荆州的刘毅、司马休之),压平了南方割据势力和东晋政权内部的反对派。到416年,他将进攻目标转向羌人姚氏的后秦政权。
后秦核心区为关中,并占据着河南地区的西半部。秦晋间的边境线很长且曲折参互。在刘裕攻灭南燕之后,双方西段边界在南阳盆地北缘和秦岭;中段边界在淮河北侧;东段则在泗水西侧。黄河以北是北魏疆域,但北魏又占据着黄河南岸的滑台等地(河济之间),所以秦、晋、魏三方形成鼎峙格局。
义熙十二年(416年)正月,秦帝姚兴去世,姚泓继位。此时后秦外有赫连勃勃武装的骚扰,内有宗室成员的不满和觊觎,统治很不稳定。但北魏和后秦皇室有联姻之好,所以北魏坚决支持姚泓政权。姚兴死去的消息传到东晋,刘裕迅速做出伐秦决定。二到三月间,他操纵晋安帝朝廷给自己加“中外大都督”之号,东晋举国戒严,进行全面军事动员。[12]四月,刘裕正式发布文告,声称“今当奉辞西旆,有事关河”[13],宣布伐秦计划,但战事直到秋季八月才正式开始。(关于此次战役,可参考图7)
图7 东晋灭后秦之战战略部署和夺取洛阳示意图
刘裕对第一阶段战事的部署
九月,晋前锋诸军发起攻势。这和以往东晋,以及此后南朝的历次北伐都不同的是,没有选择夏季进行战争。晋军本来自三、四月已进行动员,完全可以在夏初展开攻势。但刘裕这次打破惯例,在秋冬发动进攻,是综合了天时、地理和敌我兵力形势之后的全盘计划:
从地理上看,后秦的疆域范围较大,核心区关中有山河四塞之险,刘裕吸取了桓温伐前秦失败的教训,不再从陆路翻山北上,那样后勤保障难以维系,风险过大。他计划先占河南,再攻关中。河南不是后秦的核心区,所以不会发生太惨烈的战事,但只有占领河南,晋军才能开通自淮入黄的航道,溯黄河前往关中。
从季节上看,晋军在九月展开攻势,用整个冬季占领河南地区,这种“反季节作战”,正是要让士兵们在向北进军的过程中逐步适应北方的寒冷天气。待到来年春天已经稳定占据了河南,开通入黄航道,晋军主力舰队驶入黄河,诸军乘春夏季涨水之机再进攻关中,从季节上讲最有利。届时,晋军有汴水、泗水两条航道提供后勤保障,正好进行最艰难的战役。且士兵们有了冬季作战经验,即使战事拖延到下一个冬天,也不致影响大局。如果冬季在河南作战失利,撤回淮河以南也比较容易,不至有重大损失。
所以,伐秦战事第一阶段的目标,首先是占领河南地区,以攻占洛阳为标志;其次是开通自彭城进入黄河的两条航道:汴水—石门航道和泗水—黄河航道。各路军队的进攻计划是:
中线:沈林子、刘遵考二将从彭城出发,溯汴水向西北,负责攻占汴水沿线,并掘开石门水口。虽然汴水航道早已湮塞,但从彭城去往洛阳,走汴水航道更近,且可以避开北魏控制的河段,最为便捷。所以刘裕对沈林子等开通石门的任务寄予厚望。
东线:前锋军总指挥王仲德率东线晋军,[14]自青齐地区(南燕故地)西进,监督朱牧、竺灵秀、严纲三将开通巨野一带的桓公渎故道,沟通泗水和黄河。自桓温伐燕以来,这条航道已经荒废近五十年;同时,东线晋军向黄河南岸的北魏据点进逼。一支由朱超石、胡蕃率领,前往半城(今山东聊城东南);[15]另一支由王仲德率领,进向滑台城(今河南滑县)。滑台是黄河南岸重镇,北魏兖州治所就设在这里。晋军开通桓公渎,舰队自泗水入黄河,必须经过半城、滑台河段,才能溯流驶向洛阳。刘裕希望尽量避免同时对北魏展开战事,但为了保障泗水、黄河航道的畅通,必须拔除北魏在黄河南岸的据点,也可防止魏军趁秦晋鏖战之际窜扰东晋后方。
西线:檀道济、王镇恶北上进攻许昌、洛阳。史书未载两人从何处出发,从当时形势判断,应当是从重镇寿阳出发向西北进军。这支西路军也是以陆地行军作战为主。
八月,在前线的东、中、西三路晋军进入攻势之时,刘裕亲自统帅的晋军主力也从建康出发,乘舰队驶向淮河、泗水。九月,刘裕主力抵达彭城。[16]前锋诸将此时刚刚与敌接战,泗黄航道和汴水航道都未开通,所以主力舰队必须留在彭城,待航道开通后入黄河。按照刘裕部署,前锋诸军攻克洛阳、开通航道之后,都要集结在洛阳待命,等主力舰队开到洛阳,再一起溯黄河向潼关进发。[17]
第一阶段的战况
东线:王仲德部陆路循黄河西进,首先攻克魏军的凉城。驻防滑台的北魏兖州刺史尉建被晋军震慑,弃城渡河逃往北岸,王仲德立即占领滑台,肃清了北魏在河南的驻军。[18]魏帝拓跋嗣不了解晋军意图,派叔孙建率兵渡河至滑台城下探寻晋军北上的目的。王仲德派使者向魏军转达:晋军此行是为西征姚秦、光复洛阳,需要溯黄河进军,所以要向北魏暂借这段河道,他声称晋军本准备以租借形式获得滑台城,“以布帛七万匹假道于魏”,但尉建仓皇逃遁,才使晋军轻易占领空城。叔孙建得到王仲德这个保证后,表示不反对晋军西征,但晋军应早日归还滑台。魏帝获悉王仲德的解释后,又遣使到彭城面见刘裕,得到的回答与王仲德所言相同。[19]
但竺灵秀等开泗黄航道的工作并不顺利。十月,西路军已经攻占洛阳,但泗黄航道仍未开通。此时已进入严冬季节,受土地封冻影响,工程难度更大,且黄河结冰之后,北魏军队随时可以侵袭河南地区,所以王仲德部承受着巨大压力挖掘渠道,并警戒滑台一带的黄河边界。
中线:沈林子、刘遵考所部沿汴河故道西上。汴水上游的石门水口已经湮塞多年,水量无法保障航行,所以沈林子、刘遵考所部无法乘船,而只能从陆路进军。[20]汴水中游的谯郡、梁郡,原是秦、晋势力都较薄弱的边界地带,有一些独立武装,此时加入沈林子所部。[21]后秦兖州刺史韦华驻防仓垣,在晋军压力之下,弃城撤往成皋,晋军进占仓垣。
沈林子等乘胜进占石门。但开通石门水口的工作也不顺利。刘遵考指挥士兵们投入开渠工作,一度开凿出黄河入汴水的渠道,但渠道旋即发生崩塌,再度湮塞。此后数月内一直不能开通。[22]除了开掘石门水口,晋军还要砍伐汴河故道中的树木,因为自彭城至石门的七百里河道湮塞日久,已经树木丛生。周超之部受命砍树,这项工程也旷日持久。[23]
西线:王镇恶、檀道济沿颖水向西北,一路攻克秦军城垒。驻防项城的后秦徐州刺史姚掌向晋军投降。晋军继续北上攻占许昌,又于十月连克阳城、荥阳,至此,洛阳外围关隘已被晋军控制。逃奔到成皋的秦兖州刺史韦华也向檀道济投降。[24]后秦在洛阳驻军仅五千余人,[25]驻防的征南将军姚洸急忙向长安求援。姚泓派出骑兵三千、步兵一万增援洛阳。当援军未赶到时,姚洸分兵防守洛阳城东的巩县和柏谷坞,巩县守军未与晋军交战即逃回城中,柏谷秦军一千余人与晋军激战,几乎全部被歼。姚洸见晋军兵临城下,遂向檀道济、王镇恶投降。[26]此时增援骑兵已进至洛阳西不足百里的新安县,步兵进抵三百里外的湖城。得知洛阳陷落,这两支增援秦军改为原地驻防固守,阻止晋军西进长安。
到义熙十二年(416年)十月,晋军已完成第一阶段的作战任务,全部占领河南地区。从八月进军以来,只用两个月就取得如此战果,应当说进展比较顺利,但两处开凿航道的工作仍未能完成。按照刘裕的部署,三路北伐晋军分别驻扎滑台、石门和洛阳,等刘裕主力到来。
完全超出计划的伐秦第二阶段战况
在义熙十二年冬,泗黄航道和汴水航道都未能开通,刘裕主力舰队依旧停泊在彭城。从义熙十三年(417年)正月开始,王镇恶、檀道济、沈林子三将违反部署,擅自向关中进军。从这时开始,战事进入第二阶段—与原规划不同的第二阶段。最关键之处就是刘裕主力未能与前锋诸军汇合,双方都各自为战。下面对这一阶段战事进行简要梳理。(关于此阶段战事,可参考图8、图9)
三将擅自西征:义熙十二年底,晋军刚刚进占河南之后,后秦内部发生动荡和内战,到义熙十三年正月,叛乱被扑灭。此时,河南的晋军将领看到后秦受叛乱削弱,不愿坐失时机,遂不顾刘裕部署,主动向西发起攻击。最先擅自西进的是王镇恶。他从洛阳出发,循洛水西上宜阳,从南方迂回占领渑池,然后向潼关进军。檀道济、沈林子看王镇恶投入战斗,不甘灭秦之功被其独占,也率部西进。到达陕县(今三门峡市)后,檀、沈认为秦军重兵在潼关阻击王镇恶,黄河北岸疏于防范,遂北渡黄河试图从蒲坂进入关中。但秦军严密防守潼关、蒲坂,三将与秦军鏖战数月,都无法冲入关中。
图8 东晋灭后秦之战两军争夺潼关示意图
图9 东晋灭后秦之战奇袭长安示意图
刘裕水军入河:同在义熙十三(417年)年正月,王仲德部终于开通泗黄航道,而汴水航道一直未能开通。刘裕舰队只得溯泗水而上,准备入黄河开赴洛阳。这条航道比汴水迂回,且要经过魏军在北岸严密设防的河段,并非首选,但在石门开通遥遥无期,三将已经擅自西征的情况下,刘裕只能做此选择。
刘裕舰队在泗水—济水航道中行驶两个月后,方于义熙十三年三月进入黄河,靠士兵纤绳拖曳逆黄河激流而上,前进十分缓慢。北魏军队在黄河北岸严密监视,晋军舰船因风波漂流至北岸者,都被魏军杀死劫掠。刘裕遂遣朱超石、胡藩等在北岸登陆,与魏军骑兵展开激战。晋军采用抗击南燕骑兵的战术,用辎重车辆联结为长墙与北魏骑兵激战。此役重创魏军,使其不再敢骚扰晋军舰队西进。
前线的补给危机(正月至四月):在刘裕先期部署中,要求王镇恶等前锋将领必须等到主力舰队行至洛阳,再一同进攻关中。这主要是为了建立稳定的后勤保障,因为只有主力舰队才能为陆地诸军提供足够的粮秣供应。当王、檀、沈三将擅自西进之后,军粮供应的问题逐渐暴露出来。新占领的河南地区人少地贫,资源有限,且与潼关战场之间隔着崎岖的豫西山地,难以通过陆路向战场运送军粮。而王、檀、沈三将没有舰队,也无法利用黄河航道从后方运粮。所以从开始西征后的三个多月时间内,三将只能靠与秦军作战缴获粮食,以及从战场附近的民户中征集。这数月恰是没有任何作物收获的青黄不接之时,前线晋军的处境极为窘迫。
王镇恶在西进途中比较注意接管后秦郡县组织,以便筹措粮秣。他本是关中人,又曾“流寓崤、渑之间。尝寄食渑池人李方家”[27],熟悉这一地区的地理环境和风土人情,所以进军作战、筹措粮饷都比较顺利。攻占渑池县之后,他任命故人李方为县令。随后,他的军队又俘获秦弘农太守尹雅,王镇恶命尹雅继续任职,使其为晋军提供补给。
沈林子、檀道济所部从洛阳西进之初,是渡过黄河在北岸作战。这里刚经过后秦内乱的洗劫,加之晋军进入陌生环境,难以得到百姓支持,所以只能靠缴获敌军兵粮。“时伪建威将军、河北太守薛帛先据解县,林子至,驰往袭之,帛弃军奔关中,林子收其兵粮。”[28]沈、檀攻蒲坂不克,又转而渡河与王镇恶部合兵,一起进攻潼关。这使前线晋军兵力集中,粮食更难以为继。
后秦调集数倍于晋军的军队固守潼关,使其难以前进。此时已至三月,后方的刘裕舰队已从泗水驶入黄河,三将派人到下游求援,希望从速为前方提供粮援。此时主力舰队正在与北岸魏军苦战,因此刘裕对三将擅自西进十分不满,他打开战舰的窗户,指着北岸的魏军对信使说:“我语令勿进,而轻佻深入。岸上如此,何由得遣军?”[29]
后秦军统帅姚绍也了解晋军的困难,他指挥秦军占据险阻地段,深沟高垒限制晋军的行动,使其逐渐陷入饥荒。得知后援无望,王镇恶遂留沈、檀与秦军相持,自己到战线之后的弘农郡筹措军粮,甚至深入僻远的豫西深山之中。[30]王镇恶四处征粮之时,前线晋军一度发生动摇,有人甚至主张撤退回洛阳,与主力舰队汇合后再做打算。此议被沈林子否决,为解除姚绍军队的围困,他率部冲击秦军营垒,缴获了一些粮食。随着王镇恶征集的粮食逐渐运到,前方晋军才免于断粮崩溃。[31]
四月,刘裕舰队驶出了北魏军队威胁之下的河段,与潼关战场建立联系,主力舰队调出部分战舰和军队增援前方,去年负责开通泗黄航道的严纲、竺灵秀所部受命乘舰船溯黄河而上,为潼关运送兵力和粮食。而前线的战斗也在围绕补给线进行。姚绍先派出姚赞所部绕出沈林子等后方,试图切断黄河航道,但这支秦军尚未修筑好营栅,就被沈林子击溃。[32]三万秦军与晋军争夺黄河航道,又被沈林子击败。严纲、竺灵秀率领的分遣舰队此时驶抵潼关战场,晋军才获得来自主力部队的粮援。[33]不久,秦军前方统帅姚绍病死,姚赞继任。
四月至八月战事:刘裕主力舰队于四月驶入洛阳,停留至七月。他试图找出绕过潼关,迂回至关中的途经。一方面,他命令荆襄和汉中一带的部队,翻越秦岭进军关中。其中沈田子、傅弘之所部从当初桓温伐秦的武关蓝田路线前往关中。这支晋军数量较少,沈田子所部不过千人。[34]另一方面,刘裕派参军戴延之率一支小船队溯洛水而上,探查洛水上游能否通入关中。戴延之等在深山中穿行数百里,最终发现水道不能通向关中,无功而返。
到了七月,刘裕得知开辟洛水航道无望,遂率舰队驶出洛阳,前往潼关。他还密令潼关前线的沈林子率万余兵力向西南方迂回,秘密翻越秦岭接应沈田子所部。
已在潼关苦战半年的王镇恶也在寻求攻入关中之策。他决心从黄河中行船入渭水,绕过潼关的秦军驶向长安。他为此带部下“伐木为舟”[35],制作吃水较浅的“蒙冲小舰,行船者悉在舰内”,可冒着矢石逆流而进。“羌见舰溯渭而进,舰外不见有乘行船人,北土素无舟楫,莫不惊惋,咸谓为神。”[36]趁七月雨季,渭河涨水之机,王镇恶所部乘船而上,驶向长安。潼关秦军只能在岸上徒步追赶。
八月初,当王镇恶军航行于渭水之上时,沈田子、傅弘之军抵达蓝田。此时沈林子部尚未赶到,秦帝姚泓带数万军队前往阻拦,但被沈田子部以少胜多,将秦军主力击溃,姚泓逃回长安。此时刘裕舰队也抵达潼关。秦前线的姚赞等守军放弃阵地,一路向西逃奔,希望在王镇恶舰队之前赶回长安。刘裕晋军主力紧追其后入关,潼关天险被完全突破。
八月二十三日(壬戌)清晨,王镇恶水师进抵长安郊外,士兵弃舟登岸,与数万秦兵列阵决战,秦军再度被击败。王镇恶乘胜占领长安。姚赞等秦军赶到后,见都城已经沦陷,纷纷瓦解溃散。数日后,逃亡在外的姚泓向晋军投降,后秦灭亡,晋军全部占领关中地区。
刘裕伐秦之战,是在不适合南方军队的地理环境和季节里,对后秦和北魏同时进行战斗,历时一年终于攻灭了后秦政权。按照刘裕的计划,此后晋军将对北魏展开进攻,重新统一中国。但因为主持后方政务的刘穆之病死,刘裕主力匆忙返回江南,关中被赫连勃勃攻占,不久刘裕去世,南方对北攻势遂陷于沉寂。但从战略运用角度看,此次战争仍可视为南军北伐作战的巅峰之作。
伐秦之战中,檀道济、沈林子、王镇恶诸将不顾事先部署,不等主力赶到就急于西进,堪称积极进攻的典范。这是经过近二十年战争洗礼形成的刘裕军人集团的典型风格,它是对东晋士族萎靡、怯懦政治风气的彻底逆转。刘裕从399年的天师道内战时从军,连续多年厮杀在战场第一线,“征伐屡被伤,通中者数矣”[37]。他不仅本人从不畏战,治军也以严厉著称,对贪生怕死者毫不留情。410年对卢循天师道军作战时,军官徐赤特违令出战失败,使得建康一度危急。刘裕亲率部队堵住缺口,临战“出列陈于南塘。以赤特违处分,斩之”。在对天师道军追击过程中,双方舰队会战于雷池江面,面对敌优势舰队,“右军参军庾乐生乘舰不进,斩而徇之,于是众军并踊腾争先”[38]。刘裕军征讨荆州的司马休之势力时,敌据江岸峭壁固守,刘裕舰队无法靠岸,刘裕命胡藩所部强行登陆:
……即日于马头岸渡江,而江津岸峭,壁立数丈,休之临岸置阵,无由可登。高祖呼(胡)藩令上,藩有疑色,高祖奋怒,命左右录来,欲斩之。藩不受命,顾曰:“藩宁前死耳!”以刀头穿岸,少容脚指,于是径上,随之者稍多。既得登岸,殊死战,贼不能当,引退。因而乘之,一时奔散。[39]
刘裕麾下的将领大都是在镇压天师道、攻灭桓玄的战争中成长起来的,以其敢打敢拼、不计后果的凌厉作风,一洗百年士族政治的萎靡颓唐风气。东晋偏安江左近百年来,军权由士族门阀把持,这些士族大都怯懦,贪生怕死,且视军队为家族私产,拥兵自重,不愿在恢复中原上耗费实力,所以桓温、殷浩等人的一次次“北伐”都归于失败。而刘裕集团在短短二十年间,连续攻灭了孙恩卢循天师道军、桓玄朝廷、谯纵政权、南燕政权、后秦政权,在内部铲除了刘毅、司马休之等离心势力,其军事成就堪称三百年间南方政权的顶峰。刘裕死后诸将凋零,对北方的军事优势未能维持,但使南朝政治回归专制皇权,是其对历史的影响。
附录 刘裕伐后秦“水军出石门”辨正
晋安帝义熙十二年(416年)秋,东晋太尉刘裕北伐后秦。经过一年的战斗,晋军连克洛阳、长安,俘获后秦皇帝姚泓。关于此战过程,《资治通鉴》义熙十二年载:
(八月)丁巳,裕发建康。遣龙骧将军王镇恶、冠军将军檀道济将步军自淮、淝向许、洛;新野太守朱超石、宁朔将军胡藩趋阳城;振武将军沈田子、建威将军傅弘之趋武关;建武将军沈林子、彭城内史刘遵考将水军出石门,自汴入河;以冀州刺史王仲德督前锋诸军,开巨野入河……[40]
刘裕北伐的重要根据地彭城,向北方有两条水道:(一)向北溯泗水,经桓公渎入黄河;(二)向西北溯汴水,在石门入黄河。《资治通鉴》云沈林子、刘遵考部“将水军出石门,自汴入河”,即认为是以舟师溯汴水入黄河。后世史家亦沿袭此观点,未提出异议。
但是,核以《宋书》《魏书》《晋书》诸相关传记所载,都未云沈林子、刘遵考部有水军。与《资治通鉴》此条最相近的记载,是《宋书》卷四十六《王懿(仲德)传》:
义熙十二年北伐,进仲德征虏将军,加冀州刺史,为前锋诸军事。冠军将军檀道济、龙骧将军王镇恶向洛阳;宁朔将军刘遵考、建武将军沈林子出石门;宁朔将军朱超石、胡蕃向半城;咸受统于仲德。仲德率龙骧将军朱牧、宁远将军竺灵秀、严纲等开钜野入河……[41]
此外尚有《宋书》载此次北伐沈林子“加建武将军,统军为前锋,从汴入河”[42]。《晋书·姚泓载记》:“晋太尉刘裕总大军伐泓,次于彭城,遣……将军沈林子自汴入河,攻仓垣。”[43]《宋书·武帝纪中》则只载“北兖州刺史王仲德先以水军入河”[44],未提及沈林子、刘遵考部。《魏书·刘裕传》:“裕率众军至彭城,加镇北将军、徐州刺史。遣中兵参军沈林子自汴入河……”[45]这些史料,都未提及沈林子、刘遵考部为水军。
事实上,黄河分流入汴水的石门,在魏晋之际经常淤塞。如果石门不通,汴水无法获得黄河水,流量非常有限,不能供舟船通航。刘裕北伐时的汴水就是如此。《水经注·济水》:
济水与河,浑涛东注,自西缘带山隰,秦汉以来,亦有通否。晋太和中,桓温北伐,将通之,不果而还。义熙十三年,刘公西征,又命宁朔将军刘遵考仍此渠而漕之,始有激湍东注,而终山崩壅塞。刘公于北十里,更凿故渠通之。今则南渎通津,川涧是导耳。[46]
可见沈林子、刘遵考部受命循汴水攻占石门,正是要凿通湮塞已久的石门,恢复汴水流量。
另外需要注意,石门未开通,不等于汴河故道内完全没有流水。因为在得不到黄河水源的情况下,汴河仍在河南地区有比较小的流域范围,这一流域的降水可以形成径流,只是水量比较小。但这不排除雨季时仍能形成洪涝灾害。《水经注·汴水》:
……义熙十二年,霖雨骤澍,汳水暴长,(彭)城遂崩坏。冠军将军,彭城刘公之子也,登更筑之。悉以塼垒,宏壮坚峻,楼橹赫奕,南北所无。[47]
义熙十二年(416年)夏,正是刘裕北伐后秦准备启程之时。虽然汴水在暴雨季节能形成洪涝,但仍不能通航。因为多年缺水,河道内已经长满树木。《水经注》同卷载:
汳水又东迳周坞侧,《续述征记》曰:斜城东三里。晋义熙中,刘公遣周超之自彭城缘汳故沟,斩树穿道七百余里,以开水路,停薄于此,故兹坞流称矣。[48]
可见要恢复汴水通航,不仅需凿通石门,还需要清理河道树木。这一工作非短期所能完成。
刘裕帅主力溯黄河入洛水,进抵洛阳时,汴水尚未开通。跟随刘裕出征的戴延之亲至黄河分流出汴水的故地观看:“三皇山上有二城,东曰东广武,西曰西广武,各在一山头,相去百步。汴水从广涧中东南流,今涸无水。”[49]
义熙十三年(417年)上半年,晋前锋诸军和秦军在潼关的战斗异常激烈,相持甚久。为打破僵局,王镇恶准备抛开潼关秦军,乘船溯渭水直进长安。《宋书·武帝纪中》:“七月,(刘裕)至陕城。龙骧将军王镇恶伐木为舟,自河浮渭。”[50]王镇恶就地伐木造船,也说明他们西进时汴水不能通入黄河,不然舟舰不至缺乏。《宋书·王镇恶传》:
大军次潼关,谋进取之计,镇恶请率水军自河入谓。伪镇北将军姚强屯兵泾上,镇恶遣毛德祖击破之,直至渭桥。镇恶所乘皆蒙冲小舰,行船者悉在舰内,羌见舰溯渭而进,舰外不见有乘行船人,北士素无舟楫,莫不惊惋,咸谓为神。[51]
八月,王镇恶攻克长安,生擒后秦皇帝姚泓。伐秦之役至此告成。刘裕在长安驻扎至十二月,因为后方刘穆之病死,方急忙班师回建康。大概在此行中,刘裕才终于凿通了石门,由汴水南归。《宋书·武帝纪中》:
(义熙十三年)十二月庚子,发自长安,以桂阳公义真为安西将军、雍州刺史,留腹心将佐以辅之。闰月,公自洛入河,开汴渠以归。[52]
[1] 《宋书·武帝纪上》,第15页。
[2] 《太平御览》卷一百二十六《偏霸部十·慕容超》引崔鸿《十六国春秋·南燕录》:“(义熙)五年二月,晋相刘裕率众来伐。三月,晋师渡淮。”时间皆比《宋书·武帝纪》早一个月,似应以《宋书》为准。
[3] 《宋书·武帝纪上》,第15页。
[4] 《宋书·武帝纪上》,第15页。
[5] 以下引文见《晋书·慕容超载记》,第3181页。
[6] 《南史》卷一《宋本纪上》:“及入岘,帝举手指天曰:‘吾事济矣。’众问其故,帝曰:‘师既过险,士有必死之志,余粮栖亩,军无匮乏之忧,胜可必矣。’”(第9页)
[7] 参见《宋书·武帝纪》,卷四十七《孟龙符传》,卷四十九《刘钟传》,卷一百《自序》;《晋书·慕容暐载记》。
[8] 《资治通鉴》卷一百十五:“裕遣藩及谘议参军檀韶、建威将军河内向弥潜师出燕兵之后,攻临朐,声言轻兵自海道至矣,向弥擐甲先登,遂克之。”按,声言轻兵自海道而至之事,《宋书·武帝纪》、向弥(向靖)本传、《慕容暐载记》皆不记载,不知《通鉴》采自何书,可能来自当时尚存的《十六国春秋》。临朐距离渤海不到百里,且城下有巨洋水入海,晋军自海道绕过山东半岛来袭,亦有其可行性。参见《水经注疏》卷二十六《巨洋水》。
[9] 《宋书》卷四十五《檀韶传》:“从征广固,率向弥、胡藩等五十人攻临朐城,克之。”(第1372页)此“五十”应为“五千”之误。《宋书》卷四十五《向靖(向弥)传》:“从征鲜卑,大战于临朐,累月不决。弥与檀韶等分军自间道攻临朐城。弥擐甲先登,即时溃陷,斩其牙旗,贼遂奔走。”(第1374页)此“累月”为“累日”之误。因为临朐战役只持续了一天。
[10] 《宋书·武帝纪上》:“大军进广固,既屠大城。超退保小城。于是设长围守之,围高三丈,外穿三重堑。停江、淮转输,馆谷于齐土。……河北居民荷戈负粮至者,日以千数。”(第16页)
[11] 以往割据青齐的曹嶷、段龛等武装,虽向东晋称臣,实际上仍是独立割据状态。
[12] 据《宋书·武帝纪》和《南史·宋武帝纪》,加大都督时间为三月;但《资治通鉴》卷一百十七为二月。大概朝廷二月发布加大都督之诏令,但刘裕要根据惯例辞让,最终接受时已至三月。伐秦檄文的发布日期,据《南史·宋武帝纪》为四月乙丑。则从二月获悉姚兴死讯,到四月发布檄文,是刘裕前期酝酿和准备伐秦阶段。
[13] 《宋书·武帝纪中》,第36页。
[14] 《宋书·武帝纪中》载王仲德时为北兖州刺史,但卷四十六《王仲德传》则载其职为冀州刺史。盖两职授予时间稍有先后,两传各载其一。冀州或北兖州,都在新占领的青齐地区的西部。
[15] 据《魏书》卷一百六中《地形志二中》平原郡聊城县有畔城。但《魏书》所云之畔城,皆在黄河北岸;宋军所进向之半城,应在黄河南岸,盖此段黄河南北两岸都有一城,临河方向皆做半缺状,故都可称为半(畔)城。南岸之半城,后被宋军营建为碻磝城。《水经注疏·河水五》云:“河水……迳碻磝城西。《述征记》曰:‘碻磝,津名也。自黄河泛舟而渡者,皆为津也。其城临水,西南崩于河。’”可见其残半之状。(见第468页)
[16] 《宋书·武帝纪中》:“八月丁巳,率大众发京师……九月,公次于彭城……”(第36页)
[17] 《宋书·王镇恶传》:“初,高祖与镇恶等期,若克洛阳,须大军至,未可轻前。”当王镇恶等违令冒进遭遇困难时,刘裕又斥责其使者:“我语令勿进,而轻佻深入……”(第1369页)
[18] 《宋书·武帝纪中》云:“公又遣北兖州刺史王仲德先以水军入河。仲德破索虏于东郡凉城,进平滑台。”(第36页)但北魏史书对此的记载稍有不同。《魏书》卷三《太宗明元帝纪》:“九月……司马德宗相刘裕溯河伐姚泓,遣其部将王仲德为前锋,从陆道至梁城。衮州刺史尉建畏懦,弃州北渡,王仲德遂入滑台。”(第56页)《魏书》“梁城”,即《宋书》之凉城。但关于王仲德部的进军方式,《宋书》载为“水军入河”,《魏书》则为“从陆道”。两相对勘,应以《魏书》为是。因为在九月时,泗水入黄河的航道尚在开凿之中,未能开通,晋军舰队不可能驶入黄河。当然,《宋书》所载是刘裕给王仲德的指令而非实际战事,即命令他开泗黄航道后以水军夺取滑台,由于工程艰难,王仲德遂不待通航而从陆地进军。
[19] 《魏书》卷二十九《叔孙建传》,第703页。
[20] 参见本章末附录《刘裕伐后秦“水军出石门”辨正》。
[21] 《宋书·自序》:“时襄邑降人董神虎有义兵千余人,高祖欲绥怀初附,即板为太尉参军,加扬武将军,领兵从戎。林子率神虎攻仓垣,克之,神虎伐其功,径还襄邑。林子军次襄邑,即杀神虎而抚其众。”(第2455页)
[22] 《水经注疏》卷七《济水一》:“晋太和中,桓温北伐,将通之,不果而还。义熙十三年,刘公西征,又命宁朔将军刘遵考仍此渠而漕之,始有激湍东注而终山崩壅塞……”(第658页)按,刘遵考开石门航道,应是从义熙十二年(416年)十月开始。《水经注》载刘裕伐秦,多径载为义熙十三年,其实战事乃从十二年延宕至十三年。
[23] 《水经注疏·汳(汴)水》:“汳水又东迳周坞侧,《续述征记》曰:斜城东三里。晋义熙中,刘公遣周超之自彭城缘汳故沟,斩树穿道七百余里,以开水路,停薄于此,故兹坞流称矣。”(第1966页)
[24] 《宋书·武帝纪中》:“伪兖州刺史韦华先据仓垣,亦率众归顺。”(第36页)似韦华以仓垣归顺,但仓垣是中路军沈林子所部攻占,见《宋书·自序》。《宋书》卷四十三《檀道济传》:“至成皋,伪兖州刺史韦华降。”(第1342页)可见韦华是在沈林子攻势之下撤往成皋,然后投降檀道济、王镇恶军。如果没有檀道济本传的这个记载,成皋和荥阳则不能确定是中路军还是西路军攻占。
[25] 《晋书·姚泓载记》云,姚洸遣赵玄率精兵千余守柏谷坞,几乎全部战没。姚洸遂以洛阳降。《宋书·檀道济传》,洛阳被俘秦军四千余人,则战前洛阳驻防的秦军为五千余人规模。
[26] 据《资治通鉴》卷一百十七,十月“甲子,道济进逼洛阳。丙寅,洸出降”(第3694页)。《宋书》《南史》的刘裕本纪,及《晋书·姚泓载记》均未载洛阳克复的具体日期。
[27] 《宋书·王镇恶传》,第1365页。
[28] 《宋书·自序》,第2455页。
[29] 《宋书·王镇恶传》,第1369页。
[30] 《水经注疏》卷十五《洛水》:“洛水又东,迳龙骧城北。龙骧将军王镇恶,从刘公西入长安,陆径所由,故城得其名。”(第1297页)所谓“从刘公西入长安”为概说,因为此时刘裕尚未至前线。此地在洛水上游,较为僻远,正常行军不会经行此处,只能是王镇恶部为筹集军粮,从黄河边翻山而来。
[31] 《宋书·王镇恶传》:“镇恶悬军远入,转输不充,与贼相持久,将士乏食,乃亲到弘农督上民租,百姓竞送义粟,军食复振。”(第1369页)
[32] 《宋书·自序》:“绍复遣抚军将军姚赞将兵屯河上,绝水道。赞垒堑未立,林子邀击,连破之,赞轻骑得脱,众皆奔败。”(第2456页)
[33] 《宋书·自序》:“高祖以通津阻要,兵粮所急,复遣林子争据河源。林子率太尉行参军严纲、竺灵秀卷甲进讨,累战,大破之,即斩伯子、默骡、小方三级,所俘馘及驴马器械甚多。所虏获三千余人,悉以还绍,使知王师之弘。兵粮兼储,三军鼓行而西矣。”(第2456页)
[34] 《宋书·自序》:“田子本为疑兵,所领裁数百”(第2448页)。《晋书·姚泓载记》:“刘裕使沈田子及傅弘之率众万余人入上洛,所在多委城镇奔长安。田子等进及青泥。”又云:“时裕别将姚珍入自子午,窦霸入自洛谷,众各数千人。”(第3015页)盖翻越秦岭的晋军有多路,并非只从武关道进发,大概每支规模都不大,共计有万余人。
[35] 《宋书·武帝纪中》,第42页。
[36] 《宋书·王镇恶传》,第1369页。
[37] 《宋书》卷二十七《符瑞志上》,第784页。
[38] 《宋书·武帝纪上》,第20、22页。
[39] 《宋书·胡藩传》,第1444页。
[40] 《资治通鉴》卷一百十七,第3689页。
[41] 《宋书·王懿(仲德)传》,第1392页。
[42] 《宋书·自序》,第2455页。
[43] 《晋书·姚泓载记》,第3010页。
[44] 《宋书·武帝纪中》,第36页。
[45] 《魏书》卷九十七《岛夷刘裕传》,第2133页。
[46] 《水经注疏·济水一》,第658页。
[47] 《水经注疏·汳水》,第1991页。
[48] 《水经注疏·汳水》,第1966页。
[49] 《史记·项羽本纪》,张守节《正义》引戴延之《西征记》,第327页。
[50] 《宋书·武帝纪中》,第42页。
[51] 《宋书·王镇恶传》,第1369页。
[52] 《宋书·武帝纪中》,第44页。