0.
看过许多学生写作、翻译,
虚拟语气是个重灾区。
可以理解,因为虚拟语气,确实是个语法老大难——要背的规则多,情况多,例外也多。总是背了忘,忘了背,最后还各种混淆。
当然,其实可以不用这么复杂——还是大白语法老规矩:
不套模板,不背公式,理解语法现象背后的规律,就能记住、掌握、写好虚拟句。
这一篇虚拟语气,你不用再去区分是虚拟过去、还是虚拟现在将来,又或是混合虚拟,也不用套公式——
只要理解三点,虚拟句,不再难。
1.
第一,虚拟语气的表现形式:动词形态往「过去」推一层就对了。
语法为表意服务,一句话之所以用虚拟语气,是为了表示
「我在说和事实不符的话」
。
这样一层含义,需要一个和正常句子不同的语法形式,以示区分,要区分「说与事实相反的话」和「说事实」。
英文中,体现这层「所说非事实」的手段就是:动词形态往过去推一层。比如,「假设我是你」,就不写现在时的 if I am you,而写 if I were you。
但为什么偏偏是往过去推一层呢?
——因为没的选。
比如,还是「如果我是你」,这是典型的虚拟——因为我不可能是你。英文能怎么讲呢?
If I am you,明显不对,讲出去可能让人觉得,这真是在睁着眼睛说不睁着眼睛的话;
If I will be you,这也不合逻辑,因为将来我也不可能是你;
现在、将来都不行,那就只剩过去了。
因为,过去发生了的事,是改变不了的事,是你我都知道的事——也就是说,对照标准是确定了的。这时,如果一句话说得明显不合事实,我们就知道,你是在——虚拟。
于是,「如果我是你」只剩下一个办法:If I am you 动词形式往过去推一层,变成 If I were you。
接着看:
如果我是你,我就会离她远远的。
看后半句,原本「如果…我就会离她远远的」,表推测,所以本应写 I will stay away from her,但奈何我不是你,后半句要同前半句虚拟保持一致,同样动词形态往过去推一层,I will 变为 I would stay away from her。
由此可得:
如果我是你,我就会离她远远的。
If I were you, I would stay away from her.
同样,「我要是你,我会立即辞职」是不是也简单了?
If I am you => If I were you,这个容易;I will => I would resign immediately,组合一下:
我要是你,我会立即辞职。
If I were in your place, I would resign immediately.
要强调一下,是动词
「形态」
往过去推一层,也就是
动词
长相
本身发生变化,比如 if I am you,只有一个动词,就变成 if I were you;
但「我会立即辞职」,原本是 I will resign immediately,这里动词形态的变换是 I will 变 I would,而不是 I will resign 变 I resign。因为「我就会立即辞职」是推测之后会发生的事,如果写 I resign,那就不是推测,而是描述事实了。
为保留「推测」的含义,也为避免出现「事实」「非事实」不加区分的歧义,有情态动词的主句,动词形态往过去推一层,落在情态动词上,就是 will 变 would,may 变 might 等。
2.
第二,推测过去,情态动词要加 have。
这点看起来跟虚拟语气似乎没什么关系,其实是个关键。
虚拟语气本质也是条件句,都是先假设一个前提,再根据这个前提,来推测会发生什么事。像「我要是你,我会立即辞职」,就是先假设我是你,再来推测「我会做什么事情」。
但我真的铁板钉钉的会辞职吗?只能说很可能,但未来的事,还没发生,就都不确定,就都只能是推测。
而表示推测,就要借助到 will/may/should/can 等情态动词。
但问题在于,在虚拟语气中,推测可以推测将来事,比如「如果我是你,这事我不会干」,其实就是「这事我
将
不会干」,这是推测将来;
也可以推测过去,比如「如果不是他碰巧走过、把我从河里拉上来,我可能已经淹死了」,说的是
那时
「我可能已经淹死了」,这是推测过去的事情。
那问题就来了:「我可能已经淹死了」,是推测,需要情态动词,但如果直接写 I would drown,就仍是推测将来,因为 would do sth,说的仍是「将做某事、可能做某事」。
同样:
It may rain. It might even snow.
讲的全是推测将来:可能会下雨,甚至有可能会下雪。区别只是「有可能」和「略有可能」。
而 I will do sth 和 I would do sth,除了形式上 would 是过去形态,两个讲的都是「我将可能会做某事」,和过去没半点关系。
把这里的情态动词还原一下,会看得更清楚:
will/would 可理解为 be going to do sth,may/might 可理解为 be likely to do sth。而 to do sth 都是将做某事,都是谈论将来,推测将来,不表示过去。
所以你看:
表推测要借助情态动词,但情态动词本身是缺乏表示过去的能力的。
这时,如果要用情态动词推测过去,就必须变换语法形式,
不能单用情态动词本词,而要加上小帮手:have
。
it might rain 是可能会下雨,但 it might have rained,是你早上起来看到路面湿了,推测可能已经下过雨了。
现在可以来看这句了:
如果不是他碰巧走过、把我从河里拉上来,我可能已经淹死了。
英文怎么写?先解决单词表达:
- 碰巧走过,happen along;
- 从河里拉上来,pull me out of the river;
- 淹死,drown;
其中,前半句如果是叙述事实,那应该讲 If he
didn’t
happen along and pull me out of the river;
但实际上,他走过了且救了我,于是要采用与事实相反的写法,虚拟:If he hadn't happened along and pulled me out of the river;
后半句,如果是正常推测,是 I will drown,但同前面虚拟保持一致,动词形式往前推一层,变为 I would drown;
又,would
drown
说的是将来,无法体现「我那时可能已经淹死了」对过去事件的推测,于是需要借助 have,变为 I would have drowned。
由此可得
:
如果不是他碰巧走过、把我从河里拉上来,我可能已经淹死了。
I would have drowned if he hadn't happened along and pulled me out of the river.
3.
第三,判断真假。
如果所说是真,动词形式不变;所说是假,即与事实不符,句子动词形态往过去推一层。
然后呢?——没了,三条原则,讲完了。
现在,可以组合三点,来实战练习了。
4.
来看:
当初你要是听了我的话,这一切就不会发生了。
当初听了我的话吗?——从句子可知,没有,「听了话」是假,于是需要变化动词形态
所以不能直接写 if you listened to me,而要采用虚拟形式,动词形态往过去推一层,listened 往过去推一层就只有 had listened 了,于是得:if you had listened to me;
同样,「这一切就不会发生了」是推测,本写 none of this would happen,同前半句保持形态一致就好,但 would 不能表示推测过去,因此加上 have,写为:none of this would have happened。
由此可得
:
当初你要是听了我的话,这一切就不会发生了。
None of this would have happened if you had listened to me.
这时,你甚至都不用去看句子到底虚拟什么时候,现在、过去、将来、混合虚拟,不用管,只用看真假,就可以了。
再比如:
我要是能再次年轻就好了,但上了年纪也有上了年纪的好处。
我当然是无法再次年轻的,所以不能写 if I am young again,而要推后一层写为,if I were young again;
但「上了年纪有上了年纪的好处」——这是真的呀,所以不用变化,
由此可得
:
I wish I were young again, but getting older has its compensations.
还能再多时态变换一点吗?可以——
如果我真知道什么的话,我肯定会告诉你,可我不知道。你现在说的我都没听过。
看起来有点难。
老办法,不套规则,只判断真假,再根据真假变换动词形式——
「如果我真知道什么的话」,那其实我是不知道的,if I know anything => if I knew anything;
「我肯定会告诉你」,正常说是 I will certainly tell you,这里动词形态同前半句保持一致,变为:I would certainly tell you;
「你现在说的我都没听过」呢?这是叙述事实,不涉及条件假设,直说便可:What you're saying is news to me.
由此可得
:
如果我真知道什么的话,我肯定会告诉你,可我不知道。你现在说的我都没听过。
I'd certainly tell you if I knew anything, but I don't. What you're saying is news to me.
5.
补充三组易混易错用法:I wish / but for / if only。
1) I wish
我真希望我当初听了妈妈的话。
是 I wish 还是 I wished?
照例,判断真假:「我希望」是现在仍然希望,事实,于是 I wish 动词形式不变;但当初明显是没有听妈妈说的话的,于是不能写 listened to Mum,而要写为虚拟 had listened。
由此可得
:
我真希望我当初听了妈妈的话。
I wish I'd listened to Mum.
类似:
我那时要是没去参加聚会就好了。
是不是就简单了?
我现在仍然这么觉得,所以是 I wish;但当初确实是去了的,所以「没去」部分,要用虚拟,went to => had gone to。
于是:
我那时要是没去参加聚会就好了。
I wish I hadn't gone to that party.
2) but for / but that
这词组乍一眼看都有点不知道是讲什么的,但偏偏虚拟里头常用。
中文大致类似「要不是…」,比如「要不是因为下雨」,就可以说 but for the rain。
像这句:
要不是因为下雨,我们假日一定过得很是惬意。
前半句已经解决,but for the rain;