轉一篇英語虛擬語氣的文章

評:這個文章不同語法書,是他個人感悟,學英語要有自己的體會和見解,如論對錯,探索精神可嘉!


應該如何理解虛擬語氣?

王永豪

王永豪​

哲學 話題的優秀回答者

substantive revision 虛擬語氣 - Abe的英語課 - 知乎專欄

=======================

寫這個是因為跟很多苦逼的高考黨講過虛擬語氣,在知乎上也看到過幾個類似的提問。個人感覺國內教材和老師對於這個語法點的講解真的不算透徹,來知乎這麼久了也學到了不少,在這奉上第一篇乾貨(也就是說會有第二第三篇的哦),幫大家理解一下,順便騙騙贊漲漲粉...以下內容主要是個人理解,並有借鑑Google+高中語法書(在學校被強迫買的...自己再沒買過),沒看過特別正規的語法書,如有錯誤疏漏請指正。

發之前給別人看有人說可能學生不需要去理解而只是想記住會做題,但是我是真不喜歡這種只告訴你怎麼考好的學習方式,希望大家看完這篇文章能通過理解來記住虛擬語氣,這樣記住的時間長質量高,也會提高成績的。

【注:此文神長】

要理解虛擬語氣,首先我們需要理解虛擬語氣的本質:

它是一個語氣。

虛擬語氣是為了體現這句話想表達的內容不是真實發生的,有可能是一個不可能發生的假設,有可能是一個不確定的後果,也有可能是一個命令或建議。

語氣並不止通過人說話的聲調和聲音大小來體現,更通過用詞。中文其實也有虛擬語氣。舉個栗子:

虛擬語氣:“當初我要是好好學習,我就不是現在這熊樣了。”

正常語氣:“如果我當初好好學習,現在我不會是這個熊樣。”

我勒個去,正常語氣聽著怎麼不正常?

不正常就對了。因為使用正常語氣聽上去不正常,所以該使用虛擬語氣的時候必須使用虛擬語氣。

當你該用卻沒用虛擬語氣的時候會聽上去很不舒服:

The Big Bang Theory第五季第18集有這麼一段對話,Sheldon半夜在打手鼓。

L是萊納德,P是佩妮,S是謝爾頓。

L: oh, hi, Penny, guess what? Sheldon got bongos.

啊,penny,你猜怎麼著?Sheldon買了手鼓。

P: why did you get bongos?

你買手鼓幹嘛?

S: Richard Feynman played the bongos. I thought I would give that a try.

理查德費曼也打鼓。我覺得我也可以試試。

L: Richard Feynman was a famous physicist.

(對Penny說)理查德費曼是一個著名的物理學家。

P: Leonard, it’s 3 o’clock in the morning. I don’t care if Richard Feynman was a purple leprechaun who lived in my butt.

Leonard,現在是凌晨三點喂。就算理查德費曼是個住在我屁股裡的紫色小妖精我都不管。

S: penny meat if he were a purple leprechaun. Penny forgot to use the subjunctive.

(Sheldon邊打鼓邊)Penny想說的是if he were a purple leprechaun. Penny忘用虛擬語氣了。

相信大家都知道什麼If I were a girl/boy, I would...,老師都跟你們說不要用was,這是特殊用法...這個後面會講。

中文通過特定的詞(比如“要是”)來表示虛擬語氣,而英文則通過將動詞變為虛擬語氣的形式來表示(而不是有些老師說的改變時態)。經常藉助完成時had done或者 (情態動詞)+ have done,也有shall的虛擬形式should(意思不是應該,在非if引導的虛擬語氣中會詳細講解),can的虛擬形式could,will的虛擬形式would等來完成一個虛擬語氣。

以上用來幫助大家理解虛擬語氣和它存在的意義。然而要理解虛擬語氣必須要先好好理解以下幾個內容。

★I:have done的意義

老師說過現在完成時指的是持續到現在的動作或者過去的事對現在產生了影響,所以畫成圖就是:

(請忽略書寫...)

很多人估計都不理解啥是“對現在的影響”,其實這個很好理解:【important】

現在完成時表達的對現在的影響在很多時候(不是所有時候)就是一件事因為它在過去發生了,所以現在我們在這談論它。描述出來的事件與用過去時沒有太大的區別。

大家有機會學德語的話會知道,在德語書面語中用過去時來表達過去發生的事,在口語中用完成時表示過去發生的事。意思不變。

而且,無論是對現在的影響還是持續到現在,現在完成時的動作的開始時間都是在。過。去。

在虛擬語氣中,完成式經常可以想作過去式。為什麼要這麼想下面會講到。

★II:如何理解were/should/would/could/might

相信很多初高中的老師都會講這些單詞是過去式,其實不是。在虛擬語氣中,Were/should/would/could/might是be/shall/will/can/may的虛擬語氣形式,只不過湊巧和be的第二人稱/複數過去式,shall/will的過去式長得一樣而已。不要把他們理解成過去式,千萬不要。這個下面會更加詳細的講。

為了防止有人不理解:be的原型是be,第二人稱是are,複數還是are,過去式的複數是were,任何人稱或單複數的虛擬語氣形式還是were。

明白嗎?它長的是一副過去式複數的樣子,但是它表達的意義是虛擬語氣。所以be動詞在虛擬語氣中是were不是由其他什麼單複數人稱決定的,只是因為它是be的虛擬語氣形式。

接下來詳細講一下各種情況下的虛擬語氣。

If引導的虛擬語氣

這個在見到的和考試考到的都很多。首先我們來理清一些術語。

在一個if引導的虛擬語氣中,if引導的那個從句叫做條件狀語從句,而沒有if的那半部分是主句。條件狀語從句給出了條件,而主句所描述的就是這個條件造成的結果。

例:上文例子中我好好學習是假設的條件,我不是現在這個熊樣是這個假設條件造成的結果。

這部分會分三條解釋對if引導的條件狀語從句,也就是對條件的假設。

分成三種來講:對過去的假設,對一般時的假設,對將來的假設。

同時,以上三種情況下有可能出現三種主句,也就是假設條件下造成的結果:假設下過去的結果,假設下現在的結果,假設下將來的結果。

一:對過去的條件的假設(從句)

●首先舉一個主句中對過去結果的假設。

如果昨天沒有下雨,我們(昨天)就可以比賽了。

If it had not rained yesterday, we could have had a game.

注意這句話假設的是之前比賽,比如有人問你怎麼聽說你昨天沒去比賽去上網了啊,你說別提了,要不是昨天下雨了我們昨天就可以去比賽了。

●把它改成對現在結果的假設就是:

如果昨天沒有下雨,今天我們就能比賽了。(大概是操場被淹了水還沒退,嗯這個不重要)

If it had not rained so heavily yesterday, we could have a game now.

★為什麼要用had not rained和could have had?

過去完成時在這裡有兩層意義,一層是時態上一層是語法上。注意時態上的大家稍微一理解就好,不屬於虛擬語氣的範疇。

(繼續忽略書寫...其實只是我的電腦桌太小寫字的姿勢不對,嗯就是這樣)

如果沒有完成時,我們很難表達過去的過去或者將來的過去。有了完成時就一切好說了。Have done是過去時,過去的過去怎麼說?把have變成had唄。將來的過去怎麼說,前面加個will唄。

把這兩個句子做一個對比,再結合我剛才說的完成時表示的是過去發生的事,可以看出來第一個句子說的是可以在過去的時間時舉行比賽,所以影響到昨天不能比賽是過去的過去的事情,我們用had rained。然後主句中,could是情態動詞can的虛擬語氣形式,已經是could了,不能再變成過去式了,所以如果要表達“過去可以”的意義,而could後面的動詞又必須接原型,所以需要用完成時來表示過去發生的事。所以我們使用could have had。這個規則同樣適用於should/would/might。

有人就問為什麼第二個句子影響到今天不能比賽還是用過去完成時而不是現在完成時啊,這裡就是語法上的意義:用過去完成時來代表虛擬語氣。過去式或完成時的虛擬語氣是過去完成時。Be/can/shall/will用were/could/should/would來表示虛擬,現在完成時用had done,過去完成時來表示虛擬。凡是if條件狀語從句中過去發生的事在虛擬語氣時用過去完成時。(第一個句子可以直接如此理解,寫上是希望大家能從更多的角度去看這個句子。)(以後應該會寫一個時態的帖)

在第二個句子的主句中則簡單的用could have即可。在這兩個句子中,could不是過去式而是can的虛擬語氣形式。所以這個句子是說現在可以舉行比賽,要是把could理解成can的過去式我就只能呵呵了。

★事實上,雖然我們說could是can的過去式,would是will的過去式,但是在實際應用中,除了在從句中受到了主句時態的影響,幾乎不會用could/would來表示過去可以/過去會。你可以說I can run.,但是如果你用I could run.,怎麼聽都不會是在說我過去可以跑,而只是在表示一種可能性,在做一個假設,說別人問你有人打你怎麼辦你說啊,我可以跑(也可能跟他打)(在這裡其實can也行,只是在舉一個可能的情形)。你可以說I will run.,但是如果你用I would run.,怎麼聽都不會是在說我過去將要跑,而也只是在表示一種可能性,說有人打你怎麼辦,我大概會跑吧。

以could為例我們看看牛津英語詞典是怎麼解釋的:

could

modal verb past of can.

1.used to indicate possibility: they could be right | I would go if I could afford it.

2.used in making suggestions or polite requests: you could always ring him up | could I use the phone?

3.used to indicate annoyance because of something that has not been done: they could have told me!

4.used to indicate a strong inclination to do something: he irritates me so much that I could scream.

雖然一開頭說是情態動詞,can的過去式,但是接下來的四個意思中:用來表示有可能、用來建議或禮貌的要求、用來表示因為某事沒有被完成的生氣、用來表示強烈做某事的願望,這四個意思(當然肯定有其他用法只是沒有被列出),沒有一個是表示事件發生在過去。後面的例句全都是虛擬語氣。相信大家通過語感都可以感覺出這些句子中換成can會彆扭,實際應用中也會這麼用。所以如果你會用could的話,其實你們已經用了很久的虛擬語氣了。

(怎麼樣,突然知道自己用虛擬語氣用了這麼多年還用對了,是不是感覺自己英語學的還不賴?)

●對現在結果的假設還可以看最開始的例句。

“當初我要是好好學習,我就不是現在這熊樣了。”

“如果我當初好好學習,現在我不會是這個熊樣。”

If I had studied harder back then, I wouldn’t be so wretched now.

If I studied harder back then, I will not be so wretched now.

(wretched: 悲慘的,地位低下的,不幸的,這個詞其實不好翻譯)

第二個句子聽起來就很彆扭。什麼?你聽起來一點都不彆扭?那是你語感不好。

說正經的...在假設過去時,過去發生過的事是無法改變的,當初我就是沒有好好學習,所以需要用虛擬語氣來表示這件事的不可改變。看看第二個句子的主句: I will not,有沒有一種很自信的感覺?你只是在假設啊你為何如此自信?什麼?你就是這麼自信?你當初好好學習就不會是現在這熊樣了?雖然說人醜就該多讀書是正確的,但是你以為多讀書了你就不醜了嗎?

★正經!!...首先就算你不用虛擬語氣,好好學習是過去發生的事,你是不是現在這熊樣都是在那之後發生的事,所以主句首先是一個過去將來時,would。這裡因為是假設的,過去的事情是無法改變的,所以更應該用虛擬語氣would來表示此事的不可能性。

同時造成現在的結果和將來的結果形式都是一樣的,都是would(當然也有可能是could/should等)。

●所以第三種,對將來結果的假設

同桌(幸災樂禍地):如果你剛才背對了這首詩,今晚回家你就不用抄十遍了。

If you had just recited this poem correctly, you wouldn’t need to copy it for ten times tonight.

如果是背之前他在跟你說,而且他認為你一般背不出來,就可以說:

If you recited this poem correctly, you wouldn’t need to copy it for ten times tonight.

如果你沒做作業,老師本來想懲罰你,但是想給你次機會,就可以說:

If you (can) recite this poem correctly, you won't need to copy it for ten times tonight.

這個自己理解應該都沒有問題了吧,首先if的從句中用過去完成時來表示虛擬語氣,主句中用will的虛擬語氣形式would來表示虛擬語氣。

★總結:記住因為你假設的是過去發生的事,所以你假設的“當初我好好學習”“昨天沒下雨”都是不可能發生的,所以“我不是這個熊樣”“我們可以比賽”“不用抄十遍”也是不可能發生的。

在假設過去的情況是,if引導的條件狀語從句使用had done的形式來表示虛擬,而主句視情況,在假設對過去的影響時使用would have done,對現在或將來的使用would do的形式。

二:對一般時條件的假設

這部分分兩種情況,造成現在的結果和將來的結果

●第一種情況是一般時的假設條件造成的一般時的假設結果(說得我自己都繞...在後面用例句講一下)

要是我是個女的,我就應該去女廁所而不是男廁所(劃線部分是為了適應英語部分的語感加上的)。

If I were a girl, I would need to use lady’s room rather than man’s.

如果我是個女的,我應該去女廁所而不是男廁所。

If I’m a girl, I need to use lady’s room rather than man’s.

注意這兩個句子,一個使用虛擬語氣,一個不使用,所傳達的意義是完全不同的。第一個是在假設我是個女的,因此(除了你去做變性手術以外)是不可能發生的。而第二個句子只是在陳述一種情況,女的應該去女廁所。

再舉個例子:

如果太陽不存在,那也就不會有月光了。

If sun didn’t exist, there would also be no moonshine.

注意,一般動詞的虛擬語氣形式的樣子就和它的過去式一樣,但是依然是作為它的虛擬語氣形式而不是它的過去式使用的。所以他表達的不是過去式的意思,僅僅是表達假設。

●第二種情況是造成將來時的假設結果。

If there were no water on earth, tomorrow would not rain.(原諒我沒有想出實用的例句...)

以上句子的主句都使用would,原因和之前講的都一樣,不再贅述。

要注意的是其實對一般時條件的假設也可以造成對過去的假設結果...但是因為不常用所以僅提供一個例句供大家練習理解:

If there were no gravity, that little stone would not have fallen down.

相信大家可以很容易的理解造成將來時和過去時的結果的例句和他們用詞的原因了。

★總結:對現在假設的事情同樣不可能,與對過去的假設相同,是不可能或者幾乎不可能發生的。

●對將來的假設

對將來的假設和上面兩種情況不一樣,你假設的事情是有可能發生的,不過幾率不大。如果想表達大概率的事件會用正常的主句將來時/情態動詞,從句現在時。

栗子:

如果我明天來的話我會帶上我的筆記本。

If I came/should come/were to came tomorrow, I would bring my laptop.

If I come tomorrow, I will bring my laptop.

要注意,前後兩句話表達的語氣是截然相反的。虛擬語氣中對將來的假設雖然有可能發生,但是用的時候表達的意思是“我一般不會做這件事情,但是如果我做了的話,我會怎麼樣。“所以第一個句子想表達的準確含義是“我明天一般不來,不過我來的話我會帶著我的筆記本。”

表示將來的從句中有可能用過去式、should或者were to,這三個詞所表達的意思略有不同,如果用were to表示這件事基本沒戲,should的話表示有一定可能,過去式的話可能性更大一些。

而第二句子在這裡就不彆扭了,也很自信了“我明天來的話我會帶著我的筆記本。”表示的是很大概率的事件。請運用你們以前學過的知識自行理解。

當然對過去的假設在某種情況會造成對過去的影響,比如

If he were to come, he would have called me.

如果他要來,他肯定已經給我打電話了。

相信不難理解。

-----------------------------------------小分割線------------------------------------------

到目前為止感覺如何?差不多都能理解?來,讓我們看一個例句。

Jenny would never have believed that her article was so controversial(有爭議的) were it not for the outpouring of correspondence(通信) which followed its publication.

相信很多老師都講過,但是考試應該不會考這個東西,你們也不會去用它。在if引導的虛擬語氣中,可以省略掉if,將were/should/had提前。

上面那個句子可以改成完整的Jenny would never have believed that her article was so controversial, if it were not for the outpouring of correspondence which followed its publication.

不難理解了吧?不難理解說明之前講的你差不多已經明白了。

再舉一個這樣的栗子:

Had I taken that course, I could have scored higher on the test.

如果當時我參加了那個課程,我可能會考的更高一些。

==============================大分割線==============================

其他形式的虛擬語氣

一:首先是和if引導的條件狀語從句很像的:條件狀語(沒有從句)的虛擬語氣。#據說這叫含蓄條件句##whocares#

如果是個從句的話會是這樣:If there were no air, human wouldn’t be able to live.

而含蓄條件句Without air, human wouldn’t be able to live.

不難理解吧?嗯?嗯?

同樣的下面這兩個句子也不難理解:

In that case we could have achieved our goal.

要是那樣的話我們肯定就達成目標了。

In that case指的是假設的另一種情況下。

Under that condition we could have lived more comfortably.

如果在那種情況下我們本可以過的很舒適。

和上面一樣的理解方式。

注意,虛擬語氣的應用最重要的就是邏輯的判斷。當能夠翻譯成“本可以”,“要是”,往往這個句子是一個虛擬語氣,而當你想表達“本可以”,“要是”的意思是,也一定要使用虛擬語氣。

二:

我說過的虛擬語氣經常藉助should來完成假設,而should是shall的虛擬語氣形式而不是應該的意思。

事實上,你每次用should,都是在用虛擬語氣。就和之前講的could/would一樣。

整天用虛擬語氣,是不是感覺自己的英語水平又上了一個檔次?

I should do that.

這是在說我應該去做那件事,如何用虛擬語氣理解??

如果你要做,首先會是將來做,其次你有可能做,但不一定會做。其實算是一種對將來的假設,只不過沒有if條件狀語從句。而且假設的事情發生的幾率是不一定的,不像if從句中對將來的假設那樣發生幾率小。

我們把這個句子換成一個正常的語氣,I shall do that.首先shall也是表示將來時。和will不同的是,Shall很多時候表示expressing a strong assertion or intention或者expressing an instruction or command,,表達強烈的要求和目的或者表達指導或命令。而將shall變成虛擬語氣形式should,語氣就變得柔和的多,也將整個句子變成了虛擬語氣。

I should do that.

大概是因為Should的語氣柔和(我猜的),現在用的比Shall多得多得多,所以根據語境也就發展出了自己的意思:應該。

當然要是換成I would do that或者I could do that,相信大家憑我上面對這兩個詞的描述也可以理解。這些都是虛擬語氣。

前面還說過要注意完成時的應用,現在來看:

I should have done that!

直譯:我應該已經做了那件事。

好好來理解:我要是現在已經做完那件事了就好了。

這裡面暗示了:如果要做的話,應該是過去做,但是因為已經過去了,所以你不可能做那件事。和if引導的對過去的假設基本一致。

同樣,I could have done that.我本可以做那件事的(沒做真是可惜)(或者但是某種阻礙種種原因沒做),I would have done that,要我的話我會做那件事。當然這兩個句子還有其他意思就不贅述了。

should的特殊性一個是會用在if條件狀語從句中,而could和would只使用在主句中。另一個是should在很多句子中還會省略。

I suggest that he (should) study.

Is it essential that we (should) be there?

Don recommended that you (should) join the committee.

我建議../我們去重要嗎?/Don推薦..的情況下,如果he study, we be there or you join the committee,如果這些事情發生,一定是發生在將來的。我建議你去做什麼事,說明你還沒有做,如果你要做,一定不是過去做,也不是我說話的時候正在做,而是我說完你考慮完我的建議之後做。

再一次強調,Should是Shall的虛擬語氣形式。除了我們平時最常用的應該意思,在其他的虛擬語氣中不要把Should當做應該的意思。

所以在以上例句中使用should來完成虛擬語氣,而在虛擬語氣中should經常可以省略,但是省略後後面的動詞仍然是原型。

★注意,之前講的省略if條件狀語從句中,如果should出現在從句中,should不能省略。

舉慄:

If they should come here today, I would talk to them about this essay on subjunctive.

Should they come here today, I would talk to them about this essay on subjunctive.

當然像以上舉得這種不明顯的虛擬語氣還有很多形式,除了用should/would/could,常常用過去完成時,隨便舉兩個栗子:

I wish I had been there!

If only I had taken your advice.

再多的就不舉了...舉不完的也沒有什麼意義。

只要大家判斷好邏輯,想想說的話是不是一個假設的情況,然後使用在if條件狀語從句中講的那些形式規則,就可以看懂/寫出正確的虛擬語氣。

基本上就是這樣,希望能幫到大家。=v=當然題主對英語語言的理解可能沒有那麼深,如果有疏漏之處請指正。




分享到:


相關文章: