話說古時候有個書生叫楊昊,他的書房臨近曠野,牆外有很多古墓。每到夜晚,墓地裡的白楊被風颳得譁譁作響,聲音如同波濤洶湧。一天深夜,楊昊一個人在燈下讀書,忽聽牆外有人吟詩:「玄夜悽風卻倒吹,流螢惹草復沾帷。」反覆吟誦了好幾遍,聲音悲哀悽楚。仔細一聽,柔弱婉轉像是個女子。
第二天一早,楊昊出去看,並沒有人跡,只有一條紫帶子遺棄在荊棘叢中。楊昊撿了回來,順手放在窗臺上。到了夜晚,二更時分,又傳來吟詩聲,和昨夜一樣。楊昊出於好奇就悄悄地搬了個凳子到牆邊,登上去往外一望,可吟詩聲頓時沒有了。楊昊醒悟吟詩的應該是女鬼,但心裡卻很好奇想見見吟詩的女子。
第二夜,楊昊早早地藏在牆頭上等著。一更天快完的時候,只見一個年輕的女子,從荒草中姍姍而出,手扶小樹,低著頭悲傷地念起那兩句詩。楊昊輕輕咳嗽了一聲,聽見動靜女子一下隱入荒草中不見了。楊昊只好繼續在牆下等著,過了很久女子又出來吟完詩,楊昊才隔牆續道:「幽情苦緒何人見,翠袖單寒月上時。」又過了很久,牆外便寂靜無聲了。
楊昊見沒有動靜回到書房中,剛坐下,忽見一個美麗的女子從外面走進來,向他施禮說:「您原來是位風雅之士,我以前因為害怕才躲避開了。」楊昊大喜,拉她坐下。問道:「你的家鄉是哪裡?怎麼長久地住在這地方?」女子回答說:「我是隴西人,隨父親流落到這裡居住。十七歲時得暴病死去,到現在二十多年了。住在荒野地下,十分孤單寂寞。那兩句詩是我自己作的,以寄託幽恨之情。可是只有上句想了很久,也沒想出下句,承蒙你代續上了,我九泉之下也感到歡快!」楊昊看女子的腳,見月白色的錦襪上繫著一縷彩線,再看另一隻腳上卻繫著一條紫帶子,便問:「怎麼不都用帶子系住?」女子回答說:「昨夜因害怕你躲避時,紫帶不知丟到了什麼地方。」楊昊說:「紫帶被我拾到了。」說完便去窗臺上取來那條紫帶遞給女子。女子驚訝地問哪來的,楊昊如實說了。女子解下彩線,仍用帶子系住。收拾完,女子翻閱起桌上的書,忽見元稹作的《連昌宮》詞,感慨地說:「我活著時最愛讀這些詞。現在看到,真如在夢中。」楊昊和她談論起詩文,覺得她聰慧博學,令人喜愛。楊昊和她在窗下剪著燈花夜讀,如同得到了一個知心朋友。
從此後,只要一聽到楊昊低聲吟詩,一會兒女子就來了。常囑咐楊昊說:「咱們交往的事你一定要保密,不能洩露。我自幼膽小,恐怕有壞人來欺負我。」楊昊答應了。兩人相處的十分愉快,雖然未曾同寢,但感情卻勝過了夫妻。女子常在燈下替楊昊抄書,寫的字端正柔媚。又自己選了一百首宮詞,抄錄下吟誦。還讓楊昊準備了圍棋,買來琵琶,每夜教楊昊下棋。有時女子自己彈起琵琶,給楊昊聽。
一天,楊昊的同窗薛潘來訪,正碰上楊昊白天睡覺。見屋子裡琵琶、圍棋俱全,薛潘知道這些東西不是楊昊擅長的。又翻閱他的書發現了一些抄錄的宮詞,字跡端正秀麗,心中越發懷疑。楊昊醒來後,薛潘問道:「這些遊戲用具是哪來的?」楊昊回答說:「想學學。」又問詩卷是哪來的,楊昊假稱是從朋友處借的。薛潘反覆賞玩,見詩卷最後一行小字寫的是「某月日鈺卓書」,便笑著說:「這鈺卓是女子的小名,你怎麼如此欺騙我?」楊昊窘迫不安,不知怎麼回答好。薛潘苦苦追問,楊昊閉口不答。薛潘便捲起詩卷,以拿走相要挾。楊昊更加窘困,只得實說了。薛潘聽後要求見見這個女子,楊昊告訴他女子的囑咐,薛潘卻更加仰慕。楊昊迫不得已答應了。
到了夜晚,女子來了。楊昊便轉述了薛潘要見見她的意思。女子發怒地說:「我怎麼囑咐你的?你竟喋喋不休地跟人說了!」楊昊解釋說明當時的情況。女子說:「我和你緣分盡了!」楊昊百般安慰解釋,女子終究還是不高興,起身告別說:「我暫時躲避躲避。」
第二天,薛潘來了,楊昊告訴他女子不願見。薛潘懷疑他在推託,於是晚上又帶了兩個同學來,賴著不走,故意擾亂楊昊,吵吵嚷嚷鬧個通宵。氣得楊昊直翻白眼,但是無可奈何。眾人一連幾夜,也沒見那女子的影子,便都有了回去的心思,不再吵鬧了。忽聽外面傳來吟詩聲,大家靜靜一聽,只覺那聲音非常悽惋。薛潘正在凝神傾聽,同學中有一個叫王義的,忽然搬拿起一塊石頭投了向窗外,大喝道:「拿架子不見客人,什麼好詩,嗚嗚咽咽的,讓人煩悶!」吟詩聲頓時消失了。大家都埋怨王義,楊昊更是惱怒,臉色不好看。說話也難聽了。第二天,同學們都走了。楊昊獨宿空房,心中盼望著女子再來,卻一直渺無人影。
又過了兩天,女子忽然來了,哭泣著說:「你招了些惡客,差點嚇死我!」楊昊連連道歉。女子匆匆地走了出去,說:「我早說過和你緣分盡了,從此永別了!」楊昊正想挽留,女子已消失不見了。此後過了一個多月,女子一次沒來。楊昊天天思念,人瘦得皮包骨頭,但卻沒法挽回了。
這晚,楊昊正一個人喝悶酒,女子忽然掀簾進來了。楊昊高興地說:「你原諒我了?」只見女子流著淚,默默不語。楊昊忙問怎麼了,女子欲言又止,只說:「我賭氣走了,現在有急事又來求人,實在羞愧!」楊昊再三詢問,女子才說:「不知哪裡來的個骯髒惡鬼,逼我當他的小妾。我自想是清白人家的後代,怎能屈身於鄙賤的惡鬼呢?可我這個弱小的女子,又怎能和他抗拒?您如認為我們感情深厚,如同夫妻,不會聽任不管吧?」楊昊大怒,恨恨地要打死那惡鬼。可又顧慮陰問陽世不同路,怕無能為力。女子說:「來夜你早點睡覺,我在你夢中請你去。」於是兩人重新和好,一直談到天亮。女子臨去又囑咐楊昊白天不要睡覺,等到夜晚相會,楊昊答應了。
第二天午後,楊昊喝了點酒,乘著酒意上了床,蒙衣躺下。不久見女子來了,給他一把佩刀,拉著他的手走去。來到一個院子,兩人關上門正在說話,忽聽有人用石頭砸門。女子吃驚地說:「仇人來了!」楊昊打開門,猛地竄了出去。見一個人紅帽青衣,滿臉刺蝟般的鬍鬚。楊昊憤怒地斥責他,惡鬼橫眉怒目,兇悍地漫罵不止。楊昊大怒,持刀衝了過去。惡鬼撿起石塊,向楊昊砸來,其中一塊正中楊昊的手腕,刀一下掉在地上。正在危急時候,遠遠望見一人,腰裡掛著弓箭正在打獵。楊昊仔細一看,卻是王義,急忙大聲呼救。王義見狀彎弓搭箭,朝惡鬼射去,一箭正中惡鬼大腿,再一箭,結果了性命。楊昊喜歡地道謝。王義詢問緣故,楊昊都說了。王義高興自己上次得罪了女子,這次可以贖罪了,於是和楊昊一塊進了女子的住室。女子戰戰兢兢的,羞怯不安,遠遠地站著一句話不說。王義見桌子上放著把小刀,有一尺多長,用金玉裝飾。他把刀從匣中抽出來一看,冷光四射,能照見人影。王義讚嘆不絕,愛不釋手。跟楊昊說了幾句話,見女子羞愧害怕得可憐,王義便走出屋子,告辭走了。楊昊也獨自返回,翻過牆後,一下子跌倒在地,於是從夢中驚醒,只聽樹中的雄雞已高一聲低一聲地叫開了。楊昊覺得手腕很疼,天明後看了看,手腕上皮肉都腫了。
到了中午,王義來了,說起夜晚做了個奇怪的夢。楊昊說:「沒夢見射箭嗎?」王生奇怪他預先知道。楊昊伸出手腕,講了緣故。王義回憶著夢中見到的那個女子,只恨不是真正見面。自覺對女子有功,又請楊昊給通融通融。到了夜晚,女子來拜謝。楊昊歸功於王義,就便講了王義想見一面的誠懇心情。女子說:「他的幫助,我不敢忘記。但他是個武夫,我真的害怕!」過了會兒又說:「他喜歡我的佩刀。那把刀是我父親出使粵中時,用一百兩銀子買來的。我很喜歡,就要了過來,纏上金絲,並鑲上了明珠。父親可憐我年幼死去,用刀殉莽。現在我願割愛,把刀贈給他,見了刀就像見了我本人一樣。」第二天,楊昊跟王義說了女子的意思,王義大喜。到夜晚,女子果然帶著刀來了,對楊昊說:「告訴他珍重,這把刀不是中原出產的!」從此後,楊昊和女子來往如初。
過了幾個月,女子忽然在燈下邊笑邊看著楊昊,像要說什麼,可又臉色一紅,不說了,如此好多次。楊昊便抱著她詢問,女子說:「長久以來承蒙你眷愛,我接受了活人的氣息,天天食人間煙火,白骨竟有了活意。現在只須人的一點精血,我就可以復生。」楊昊笑著說:「是你不肯,哪是我吝惜呢?」女子說:「我們結合後,你定會大病二十多天,但吃藥可以治好。」
於是兩人恩愛起來。過了會兒,女子穿上衣服起來,說:「還需一點生血,你能夠拚上疼痛愛惜我嗎?」楊昊取過利刃,刺破手臂,女子仰臥在床上,讓血滴進肚臍中,起來說:「我不再來了。你記住一百天後,看我的墳前有青鳥在樹梢上鳴叫,就趕快挖墳。」楊昊答應。女子臨出門又囑咐說:「千萬記住,不要忘了。早了晚了都不行!」說完便走了。
果然過了十多天,楊昊得了大病,肚子脹得要死。請來醫生抓了藥服下,排洩出很多稀泥樣的濁物。又過了十多天,病才好了。楊昊計算著到了一百天,讓家人拿著工具在女子的墳前等著。到了傍晚,果然見兩隻青鳥在樹枝上鳴叫。楊昊高興地說:「可以了!」於是刨去荊棘,挖開墳墓,只見棺木已經腐爛,但女子的面貌仍像活的一樣。楊昊甩手一摸,女子身上有溫氣,便蓋上衣服,把她背回家中,放到溫暖的地方。覺得女子口裡有了一絲氣息,又餵了些湯粥,到半夜女子真的醒了過來。從此後,女子常對楊昊說:「我死了二十多年,就像做了一場夢一樣!」虧得你讓我重新復活了。