后赵灭亡,中原大乱,是东晋立国江东以来没有碰到过的复国良机。然而,朝廷与桓温互相猜疑,殷浩、桓温北伐又相继失败,最终未能扭转偏安的局面。这是读史者一直引以为憾的事情。

穆帝永和五年(349年),在石虎死后,北方乱事初起之时(参见第十八篇),后赵寿春守将降晋,大量北方士民南迁,依附晋朝。桓温抓住时机,进屯安陆(今属湖北),准备进取。朝廷却不愿让桓温立功,而让穆帝的外祖父、褚太后的父亲褚裒做征讨大都督,督师北伐。结果代陂一战,北上接应鲁郡(治今山东曲阜)归附民众的王龛、李迈全军覆没。褚裒就从彭城(今江苏徐州)退到广陵。已经进据寿春的将领陈逵也吓得烧毁军需,毁城南逃。渡黄河南迁的百姓二十多万人没有人接应,至此陷入绝境,被胡族军队杀掠殆尽。这次北伐也就此结束。褚裒气愤,又自觉惭愧,不久便在京口(今镇江)病死。此人是个名士,虽系外戚,倒并不想抓权,确有可取之处,但是让他去领兵打仗,就不免要误国了。

永和六年(350年),即冉闵称帝那一年,北方更乱。闰二月,朝廷任殷浩都督扬、豫、徐、兖、青五州诸军事,准备北伐。从这时起,到九年十月山桑(今安徽蒙城北)之败止,殷浩负经略北方的责任达三年八个月之久,结果是误了大局,也误了自己,成为历史的罪人。

当时的北方形势,对晋既极有利,又极复杂,非真英雄真豪杰,是驾驭不了的。氐蒲洪、羌姚弋仲都想割据称雄,同时又遣使降晋,目的无非是借晋自重。永和六年,苻健(蒲洪子,洪改姓苻)进关中,自称晋征西大将军、雍州刺史。他到了长安,还派使者到建康去献捷。但他一旦立定了脚跟,就于七年(351年)正月自立秦国(前秦)了。

永和七年,姚弋仲在后赵的残余势力被消灭后(指石祗被杀,见第十八篇),即派使者向晋投降。晋朝给他六夷大都督的官名,封大单于、高陵郡公。次年他死后,儿子姚襄先打算争关中,只因为被前秦兵打败,才又南下投东晋,到寿春去见晋将谢尚。

此外后赵廪丘(今山东郓城西北)守将周成、许昌守将张遇等也因后赵灭亡降晋。这些地方,晋廷如能控制,才能真正为晋朝所有,否则说变就变,降将也会再叛。永和八年(352年),殷浩以为可以进兵许昌、洛阳了,即命谢尚、荀羡为督统,进屯寿春。不知谢尚怎么一来,就激怒了张遇。他马上变卦,不让晋军进兵。殷浩、谢尚拿他没有办法,停了好几个月不动。姚襄到寿春后,谢尚和他合兵攻许昌,却被前秦的救兵打败。这次北伐就搁浅了。

王羲之对此非常担心,他劝会稽王昱和殷浩歇手。他的意见似乎太保守,然而未尝没有道理。他说的“军破于外,资竭于内”,是实际情况;他说当时是“以区区吴越经纬天下十分之九”,也符合实际情况。荆、江等州在桓温控制之下,朝廷无法利用那边的人力、物力。益州(蜀中)遥远,朝廷也得不到任何好处。他主张减轻赋役,与民休息,从长远来说,是培养国力的根本办法,可是即使不继续用兵,也是做不到的。

殷浩不听他的劝告,硬着头皮干下去。他要减少军事以外的开支,把太学生徒也遣散了。其实多这一点财力,不会起多大作用,而停办太学,其负面影响却不可轻估。殷浩非但不懂军事,其实也不懂政治。

这年十月,由于前秦把张遇所部和陈、颍、许、洛的五万多户居民迁往关中,只留少数秦军驻防,谢尚总算收复了许昌。这是东晋惟一的一点收获。

永和九年(353年),由于前燕在上年取得邺和若干北方州郡,基本上形成了与晋、燕、秦鼎峙的形势(西北的前凉可以视为晋的方面军),其中晋的兵力最弱。姚襄一军是有相当战斗力的,殷浩如果驾驭得了姚襄,实力对比上可以有利得多。还有桓温也有相当实力,如果殷浩听王羲之的劝告,和桓温和衷共济,团结对外,东晋的形势也可以好得多。可是,殷、桓两人各干各的,桓温还要等着看殷浩出洋相。殷浩对姚襄是忽而欲置之死地而后快,忽而要他出死力打仗,如此作为,不出大乱子才怪。

姚襄屯兵历阳(今安徽和县),在淮河两岸垦募屯田,练兵积粟。姚襄这个人,和他的父亲姚弋仲不同。姚弋仲是个直性子的老羌人,对石虎也是想什么就说什么,跟了石氏便忠心耿耿。而姚襄除勇敢善战外,又博学善谈论,所以谢尚同他很谈得来,江东人士也都看重他。

殷浩在寿春,怕姚襄不可靠,就扣留了他的几个兄弟,还几次派刺客去行刺,可刺客却把真实情况都告诉了姚襄。殷浩甚至命降将魏憬领本部人马去袭击姚襄。姚襄杀了魏憬,收编了他的人马。殷浩对姚襄的猜疑越来越深,为了不让他在内地驻防,就请朝廷任他为梁国内史,调到北边的蠡台(在今河南商丘南)。姚襄的使者到寿春去见殷浩,殷浩提出姚襄有不服从命令的问题,从此两人互不信任的情况公开化了。

这年十月,殷浩误信前秦内部有人作内应的情报,便使姚襄为前锋,领兵北伐,想收复洛阳。姚襄引兵北上,估计殷浩将到,诈令所部在夜间逃跑,暗地里设下埋伏。殷浩得讯,领兵去追,在山桑中伏,大败溃退。他收拾余部,发动反击,又告失败。姚襄渡过淮河,屯兵盱眙,招募流民,把部队扩充到七万人,再派人到建康,陈诉殷浩的罪状。以后姚襄引军北还,这里就不再去讲他了。

桓温见殷浩兵败,十分得意。永和十年(354年)正月,他上疏要求废黜殷浩。朝廷无奈,便把殷浩废为庶人(平头百姓)。殷浩罢官后,住在朝廷指定的信安县(今浙江衢州)。他心中烦闷,常常“书空作‘咄咄怪事’”四个字。桓温倒不想把他完全打倒,写信告诉他,准备推荐他做尚书令。殷浩见信,大喜过望,马上提笔写回信,送出前恐怕内容有错,拆了封,封了拆,最后送出去的竟是一封空函。桓温拆开看了大怒,殷浩的庶人就只能做到底了。

殷浩既被废黜,永和十年二月,桓温立即率领步骑四万人,从江陵出发伐秦。水军从襄阳上溯沔水(今汉水)上游入均口(在今湖北丹江口西,即今淅川入沔水口,淅川旧称均水),到南乡(今湖北均县);步兵从淅川(今河南淅川县)向武关前进;同时命梁州刺史司马勋从子午道(从今陕西安康北上,越秦岭,至今长安县东)进兵关中。四月间的蓝田(今陕西蓝田西)之战打得非常激烈。秦将苻生单骑突阵,在晋军阵中冲出冲进十来次,杀伤虽多,仍旧挽不回战局,结果大败而退。接下,桓温的兄弟桓冲又在白鹿原(在今蓝田西)击败秦将苻雄。桓温进到灞上(在白鹿原北,今西安东灞水上),苻健只带六千老弱守长安小城,命雷弱儿等率仅有的三万精兵抵敌晋军。至此只有司马勋一路人马因遭苻雄袭击,打得并不顺利。

晋军的胜利在关中引起巨大震动,郡县守令都来投降,居民争先恐后地带了牛酒来慰劳将士,男男女女夹道观看,并不畏惧。有些老人感动流泪,说:“想不到今生竟能再看到官军!”(关中陷落已达三十八年)

遗民的欢愉转瞬又变成了失望。顺阳太守薛珍劝桓温不要逗留灞上,应该乘胜进逼长安,但桓温没有采纳。他行军数千里,补给是个大问题。汉水上游,水狭流急,运输困难。他原指望能以关中平原的新麦补充军粮,不幸秦人用清野之计,把麦都割了。军中缺粮,人员伤亡也无法补充。六月中再战白鹿原,晋军再也占不到优势,损失了一万多兵力。九月,桓温只得撤走,秦军随后追击,晋军又损失了上万人。

后来做了前秦苻坚的宰相的王猛,其时隐居华阴。他到军中见桓温,“扪虱而谈当世之务”。桓温对他很佩服,问他:“我奉天子之命,领十万大军入关,为百姓灭除残贼,而秦中豪杰不起而响应,这是什么缘故?”王猛答道:“明公不远数千里,深入敌境,现在长安近在咫尺而不渡灞水,百姓不了解明公的用意,所以不敢响应。”桓温无话可答,只好另换话头应付过去。桓温撤走时,希望王猛跟他南下。王猛不肯,后来就为苻坚所用。

王猛和薛珍都认为桓温应该渡灞水直逼长安,王猛更以为桓温不急攻长安是另有用意。至于用意何在,后人多以为桓温北伐的目的只是向朝廷示威,作为夺取政权的资本,而并没有灭秦的决心。这也许是正确的,但并非没有其他解释的余地。桓温如能一举灭秦,他的政治资本岂不更足?笔者认为,桓温是很想一举灭秦,以树立更大威望的,可是他对于初次见面的王猛,不可能直陈胸襟。他不是说了“十万大军”吗?他不好对王猛说只有不满四万人。从他向王猛提的问题看,他除有以关中新麦补充军粮的愿望,还估计过将来关中会出现豪杰群起响应的局面(这并不是空想,是可能的。晋升平元年[357年],前秦内乱时,秦将张平以降晋为名,企图割据,据有今山西境内的好几个郡,有三百多个壁垒,各族人等十多万户,可为例证)。现在两个愿望都落了空,而直逼长安,难道会一攻必克?如攻而不克的话,要想撤走也就难了。兵力不足应是桓温最大的难处。我们看东晋这段历史,最可惋惜的是统治者内部不团结。殷浩以七万人北伐而溃于山桑,桓温以四万人伐秦而对长安可望而不可即,如殷、桓合作,十万大军是否就能北定中原呢?历史上的许多憾事,根源多是内部不团结,这是值得世世代代记取的。

桓温没有灭秦的实力,然而在黄河以南还是能有些作为的。当时冉魏的旧将周成占了洛阳,姚襄北归占了许昌,又北上与周成争洛阳,情况非常混乱。永和十二年(356年),桓温向朝廷提出一个表面上光明正大的请求:“移都洛阳,修复园陵。”朝廷便命他去讨伐姚襄。这个任务,他轻松地完成了。这年八月,他从江陵北上到洛阳城南的伊水,一战击败姚襄。姚襄西走后,周成又投降,桓温便进了洛阳,谒西晋诸帝陵,对有毁坏的即令人修复,还留兵戍守,然后班师还江陵。

这是桓温为晋朝立的大功劳。在以后几年间,桓温与朝廷也相安无事。然而,朝廷在与前燕发生冲突中的表现,却又挑起了桓温轻视朝廷的心理。

后赵亡后,鲜卑段部的后人段龛据广固(今山东青州西北)称齐王。晋永和十一年(355年),前燕慕容恪进攻广固。段龛向晋求救。晋徐州刺史荀羡救燕,他虽不敢进军广固,然晋燕之间,在今山东、河南与苏皖北部的冲突,自此连绵不断。永和十二年,广固在困守十个月后投降。以后晋、燕冲突,晋一直处于劣势。

升平三年(359年),晋使豫州刺史谢万、徐兖二州刺史郗昙攻燕。谢万是后来成为东晋名相谢安的兄弟,也是个大有名气的名士。王羲之得知了这道任命,就写信劝他“与士卒之下者同甘苦”。谢安也对他说:“你做元帅,必须经常接待众将,使他们心悦诚服。”谢万做不到与士卒同甘苦,便听兄长的话,召集众将会议,他找不出话来,便把手中的铁如意指着大家说:“诸将皆是劲卒。”那时候阶级区别森严,把将校叫作兵卒是有侮辱性的,众将听了,对他十分怨恨。谢安知道这位老弟不可救药,怕他送掉性命,就特地赶到他统率的军中,与各级军官联络感情,连最下级的军官也不例外。后来谢万兵败逃回时,部下看了谢安的面子,才没有杀害他。朝廷用这等人做元帅,实在是天大的笑话。郗昙是郗鉴(见第十五、十六篇)的儿子,也是个文士。

这次出兵的出发点,谢万是在下蔡(今安徽凤台),郗昙是在高平(今山东邹城西南)。谢万由涡水、颍水之间进军,去救洛阳。不料郗昙生病,退屯彭城(今江苏徐州),谢万得报,以为是打了败仗,连忙退兵,结果军心慌乱,就此大溃而散。他逃还之后,被废为庶人。于是许昌、颍川、谯(今安徽亳州)、沛(今安徽濉溪西北)等城都被燕军占领,洛阳孤立,陷入极危险的处境。这时若不是燕主慕容儁病重,到下年(360年)正月病死,加以嗣君慕容暐年幼,内部政争剧烈,燕军势必大举攻晋。

升平五年(361年),燕将吕护叛变,想引晋兵袭击邺(燕于357年迁都邺)。燕慕容恪引兵攻野王(今河南沁阳,在黄河以北)。他不愿意多牺牲士卒,就围而不攻。桓温乘他们相持的时候,使兄弟桓豁领兵收复了许昌。

燕军把野王包围了好几个月,吕护支持不下去,便突围逃走,野王投降。不久,吕护仍还燕国,依旧做了燕国将官。晋哀帝隆和元年(362年,穆帝在上年去世,年仅十九岁。哀帝司马丕是成帝的儿子,原封琅邪王),燕让吕护将功赎罪,领兵攻晋洛阳,守将陈祐只有一千多兵,哪里够用,连忙告急。五月,桓温一面派三千兵去援助,一面乘机吓一下朝廷大僚。他上疏重提前议,请求迁都洛阳,而且加上一条:从永嘉(307—312年)之乱以来南迁人士,一律北移,以充实河南。

这道奏疏使满朝官员大起恐慌,他们害怕桓温,又不敢公然提出异议。他们为什么恐慌?原来南迁以后,那些丢了北方田庄的人在江南广殖田园,占有山泽。王、谢等大族,为避免与孙吴以来的江东大族摩擦,已远渡浙江,在浙东立业。如果一律北迁,他们岂不要再受一次与南迁同等的损失,怎么能够不怕。再说,洛阳地处前线,正在战时状态中,如果军事失利,又得仓皇逃难。这些生活奢华的士大夫想起来也怕,怎么敢去!

散骑常侍领著作郎孙绰打破了沉闷,上疏说明不可北迁的理由。他讲得相当坦率,说:“丧乱以来,已有六十多年(他从八王之乱的混战算起),中原早成丘墟。南迁士民的子孙也老的老,死的死,如今要离坟墓,弃生业,远涉万里,田地房屋卖不掉,车辆船只无从获得,一路上死亡的人势必很多。他建议先派有威望的将帅镇守洛阳(这句话是将桓温一军,有威望的除了他有谁),收复河南,开通航运,等中原小康,再议迁都。”

他说得倒也合乎情理。但桓温见了,大为不满,他令人带话给孙绰,“兴公(孙绰)何不寻君《遂初赋》(孙绰的作品),管人家的国事干吗!”

朝廷想派人去同桓温商量,劝他收回这个主张。扬州刺史王述却说:“桓温不过以虚声吓唬朝廷而已,只管答应他好了,这在事实上是无从做起的。”于是下了一封诏书,说知道他要亲率三军收复中原,一切都“委之高算”。事情果然就这样搪塞过去了。吕护攻打了几个月,后中箭受伤而死。燕军撤走,洛阳暂时脱离了危险。

哀帝兴宁元年(363年),朝廷加桓温侍中、大司马、都督中外诸军、录尚书事、假黄钺。这一系列官名意味他是最大的实力派。兴宁三年,他移镇姑孰(今安徽当涂),使兄弟桓豁领荆州刺史,兄弟江州刺史桓冲监江州及荆、豫八郡诸军事。上下游的军政大权,除京口(今江苏镇江)外,都进入了桓家的掌握之中。桓温既然认为晋朝没有别人能胜过自己,便一步步地走着取晋朝而代之的路子。但是他总觉得还必须北上中原,打一个大胜仗,然后回来再受九锡,才能真正名实兼收。于是,就有了废帝海西公太和四年的北伐之举(哀帝于兴宁三年因服药求长生,中毒死,年二十五岁。弟琅邪王奕立)。

太和四年的前几年间,中原军事形势对晋很是不利。许昌得失几次,终为前燕所有。兴宁二年(364年),汝南、陈郡(治今河南淮阳)失守。洛阳孤立,守将陈祐以救许昌为名,逃离洛阳,留沈劲带五百人守城。这个差使,谁也不愿当,沈劲却非常高兴地接了下来。他是王敦死党沈充的儿子,以父亲落个叛逆的恶名为憾事,决心要找个以身殉国的机会,挽回家族的荣誉。此刻机会来了,他自然高兴。兴宁三年,燕慕容恪、慕容垂领兵到洛阳。这两人都是名将,打一座只有五百兵守的城,简直不费吹灰之力。慕容恪攻城,通常不愿硬攻,这番认定洛阳城高而兵弱,一鼓可下,不必浪费时间。事实果然如此。沈劲被俘后,慕容恪不想杀他,但部将说看此人的神气是决不肯为别人所用的,他才把他杀了,事后他还觉得这是件憾事。

太和元年,燕军又攻拔鲁、高平等郡。宛城(今河南南阳)守将献城降燕。前秦军也攻掠南乡郡(治今湖北均县),把汉水以北的居民掳去了一万多户。东晋方面,除桓豁于太和二年(367年)收复宛城外,没有其他取胜的记录。

桓温最后一次北伐就是在这样的形势下发动的。他自领徐、兖二州刺史,与江州刺史桓冲、豫州刺史袁真等攻燕。徐、兖二州刺史原是郗愔(郗鉴之子、郗昙之兄),治所在京口。桓温知道京口的兵一向精锐(郗鉴也镇守过京口,339年他病重时上疏,说“臣所统错杂,率多北人……或是新附”。这些北方流人及其子孙正是京口的兵源),常说“京口酒可饮,兵可用”。郗愔的儿子郗超是桓温的参军,他把父亲给桓温表示愿共同北伐的信,抽换信笺,改为说自己年老,愿意让桓温领徐、兖。桓温有了这根据,便请朝廷调动郗愔官职,把京口的军队转到自己的部下。

太和四年四月,桓温率领步骑五万人,从姑孰出发。长途远征,成败关键常常在于补给,而补给能否充足,关键又在于运输。桓温上次攻前秦,汉水上游航运艰难是个难题。这次在东面,运输必须利用汴水。晋时的汴水指从今河南荥阳向东经开封折而东南到徐州入泗水的水道。水流所经的地方,数十年来,战乱不息,没有人疏浚,因此水道淤浅难以航行。郗超在出军之初,就向桓温提醒这个困难,但桓温未予重视。六月,到了金乡(今山东嘉祥南),因天气干旱,水道断绝,桓温即命毛虎生率军挖出三百里水道,将汶水引入清水,又将巨野泽(在今山东巨野北的大湖,今为陆地)菏水之间的一条旧水道重新加工开凿,使舰只和粮船能够通行。在大热加以干旱的日子里挖这样长的水道,尽管有部分现成的水道可以利用,也总是非常艰巨的工程。将军和士兵总不会把自己的体力都消耗到土方工程里去吧,所以吃此苦头的无疑是当地的老百姓。这史籍上没有写下,但是尽信书不如不读书,有些历史的真相是该从没有字的地方看出来的!这条水道后来叫做桓公渎。桓温有了这条水道,即让大军乘船,在巨野泽北的清口入清水(清口,即汶水入济口以下的济水),再由清水入黄河。船队浩浩荡荡,连绵好几百里,气势威武极了。

郗超又看出了问题。他说:“由清水入黄河,逆流而上,路途又远,航运难以畅通。如果敌军不战,运输线又断了,在敌境弄不到粮食,就太危险了。”他提出两个办法。一个是全军直逼邺城。敌军如果出战,可以立即解决;如守城不战,那么当此盛夏,百姓散布田野,尽为国家所有,易水以南势必全部听命。若嫌这办法太冒险,可以用第二个办法,即屯兵河、济(指开凿水道的地区),控制运道,等军需充足之后,到明年夏天再进兵,这是稳妥的做法。他坦率陈述现行办法的危险,说:“照现在的办法,不能速战速决,敌人必定竭力拖延到秋冬二季,那时水浅不能通航,北方又冷得早,将士缺乏冬装,就不仅仅是缺粮的问题了。”

郗超说得透彻极了,可是桓温固执地都不采纳。

晋军打得很精彩,湖陆(今山东鱼台东南)、黄墟(约在今河南兰考东南)、林渚(约在今河南新郑北)等战,晋军都获全胜。燕高平守将投降。七月,桓温进到枋头(今河南浚县西南淇门渡)。慕容暐想弃邺城北逃。其时慕容恪已死,慕容垂不受信任,仍自请领兵拒敌。燕还派遣使臣向前秦求救。秦命苟池、邓羌领兵救燕,从洛阳进至颍川(治许昌)。

晋军的优势不复存在了。慕容垂指挥众将迎敌,晋军连遭挫折。桓温使袁真开石门,打开水运道路。袁真攻下了谯郡(今河南商丘东北)、梁国(今商丘南),但是没有占据石门(即荥阳的汴口)。燕慕容德等军进屯石门,截断了运粮路线。

九月,桓温被迫烧掉船只,抛弃辎重,从陆路撤走。慕容垂知道他撤走之初戒备必严,只缓缓地跟着推进,过了几天,估计晋军已经力尽气竭,才加紧追击,终在襄邑(今河南睢县西)大破晋军,斩首三万级。晋军退到谯郡,再遭苟池阻击,又损失了上万兵力。

桓温北伐彻底失败了。他把过失推到袁真身上,怪他不能完成任务,以致粮运不通。袁真不服,据寿春降燕。从太和五年到六年(370—371年),桓温费了不少气力,才收复寿春,杀死袁真的儿子袁瑾(袁真已死)。

桓温还在大权独揽。太和六年十一月,他把皇帝废为东海王,立会稽王昱做皇帝(简文帝),改元咸安。咸安二年(372年)七月,简文帝去世,大臣王彪之等立太子司马曜做皇帝,是为孝武帝。桓温原来期待简文帝会禅位给他,至此大为失望。他几次暗示朝廷赐他九锡,吏部尚书谢安、侍中王坦之知道他有病,故意拖延。他们没有失望,孝武帝宁康元年(373年)七月,桓温死去,年六十二岁。兄弟桓冲代他镇姑孰,桓冲不是野心家。东晋的政治危机消失了。