在妖精森林,有一只妖精靈貓剛剛誕生,它無父無母,是被一只靈鶴從竹子里鑿出來的,然后它被送到妖術老師那里學習妖術。
一天,它在跟隨老師學習時,不小心跌落山崖瀑布,被河水帶出妖精森林,時值寒冬,天氣很冷,它浮在一塊寒冰上,皮毛盡濕,奄奄一息。一位下山取水少年路過,看見了靈貓,便撲入水中,將它救起。少年心善,見不得可憐人,一路上將凍的將死的靈貓捂在懷中,然后飛奔回家。到屋后,拿出自己不舍穿的羊毛衣,將靈貓裹在其中,少年望著瑟瑟發抖的靈貓,還覺不夠,便給它置了一旺爐火,誰知那炭火太強,將少年那件羊袍烤焦,少年頗為心疼,想著過年只好將這新衣穿在里層了。
半天之后,暖了身子的靈貓終于睜開了眼,一抬頭便看見少年清澈眼眸,心想自己一定是遇見好人了。
少年見靈貓已經化開了身子,便又給它置了一盆暖水,給它透個澡,擦了身,在爐火旁還給它放了羊毛氈,讓它蜷在那里暖骨。
晚間,少年到室外,破了缸里冰,撈了兩條夏日豢養的鯉魚,念了幾句禱經,然后煮了半生熟,喂了靈貓。靈貓很感動,望著少年好奇臉,將另一條魚推一推,示意少年也吃一點,少年露出皓齒笑了笑,然后將靈貓逆毛撫順,給它蓋上了羊皮衣。
隆冬厚雪,少年獨自住在山上破屋,夜間總是寒冷至極,少年怕靈貓受凍,每夜給它厚被暖床,好生照顧。待天晴化雪日,天凍氣寒,靈貓趁冰封晨路時,便偷跑回妖精森林,它找到自己的妖術老師,教它采光回暖之術,學會后,靈貓便白日曬陽,將太陽之光封在自己一身長毛里,而后夜里冷時,便可以釋放暖來給那少年暖腿,這樣,少年就不必因寒氣而蜷縮著身子了。
寒冬已過春日來,靈貓每日往返于森林和少年木屋,它白日里學習各種妖術,晚間回來陪少年渡過漫長冷夜。
靈貓的妖術老師多次規勸它早日離開那少年,靈貓卻不答應,或許,它已經愛上了那少年,它這樣每日苦學妖術,只期望自己可以有朝一日幻化成人的模樣,然后和那少年相戀相愛。
妖術的學習是循序漸進的過程,要想徹底幻化成人的模樣,它還要再學習很多年,不知不覺間,八年過去了,少年也從當年的十歲人變成一位大人了,而靈貓也終于學成了幻人之術,只是它還不夠精,每當它幻化成人后,還有那條尾巴難消。
靈貓算是愛上了那位少年,為了能和少年在一起,靈貓變成少女模樣,每日去看望那少年,為了多和少年接觸,靈貓變著法子制造機遇,但每次都被那少年善心化解,靈貓罵那少年愚笨,少年也只是呵呵笑著。
不知不覺間,三年過去了,三年里靈貓天天去少年那看望,給它照顧生活起居,靈貓已經不祈求什么美好愛情了,只希望自己可以這樣一生一世照顧著這個愚笨但善良的少年,不相愛但相親。
少年雖然愚笨但并非不化,三年里,靈貓無微不至的照顧,讓少年對靈貓產生了感情,或許這是一種淡然的愛情,不濃烈,但余香裊裊。
三年后的一個冬日里,少年和靈貓約誓,說自己太過愚笨,一直沒能清楚靈貓對他的愛,他現在愿意用一生時光和她結余生之緣,希望靈貓能夠答應和他一世相攜守護。
靈貓喜極而泣,終于等到了這位恩人少年開竅,它終于達成所愿,但還沒靈貓說出一個"愿"字,那少年忽然倒地,然后化成一縷幽煙消失不見。
靈貓被嚇住了,以為自己碰見了幻術,身邊有靈妖在作壞,但它法力不夠,怎也找不見使壞的妖,急得淚水漣漣的靈貓趕緊飛回妖精森林去找它的老師幫助。
靈貓老師已經算到靈貓會來找他幫助,它告訴靈貓,放下和那少年的念想,那少年不是被妖精收走的,而是被神收走的。那少年前世是個作惡妖,被神感化,要他行五世善來抵一世惡,每一世只能行善,不可與人結緣,結緣便消這一世善果,從頭再來。
靈貓聽后,恍然大悟,怪不得少年一直是那么耿直的善良,這么說來,自己算是破壞了這少年這一世的修行了,靈貓很自責,但它實在愛著那位少年,久久不能放下。
轉眼間又是一輪輪回,靈貓再次遇見前世少年,它只能幻化成個少女模樣,遠遠看著,不能上前相認,靈貓希望少年能早日修成正果,免受輪回之苦,但自己卻又苦戀那個少年,靈貓只想陪著少年,陪他五世,直到那少年修成正果之日。
回到妖精森林,靈貓請教老師怎么才能不打擾那少年,但又可以陪著他。老師告訴靈貓,它可以給一個長命鎖,讓它把自己精魄注入進去,然后送給那少年,這樣就可以不打擾少年修行卻又可以陪著他,但化成長命鎖后,靈貓就永遠不能出來,它將永世被封在那鎖里。
靈貓想了想,對它老師說它愿意化成長命鎖,哪怕只能陪那少年只這一世,只要在他身邊,就像它剛來時一樣陪在他身邊,可以感受他的溫情和善良,它便覺的值得。
于是,在老師的幫助下,靈貓化成一道光,與那長命鎖合為一體,然后靈貓老師將那長命鎖送給了自己的兒子,他的兒子便是上一世的那位少年。
那個長命鎖上還刻著兩行字"問世間情為何物,直教人生死相許"。
少年總是拿著那個長命鎖問他父親這兩句話是什么意思,他父親告訴他下輩子他就懂了!