文盲英文文法 · 数轴与动词时态

Now this looks like a job for me
So everybody, just follow me
Cause we need a little, controversy
Cause it feels so empty, without me
- Eminem, Without Me
动词时态是我们学习英语后最先开始接触的语法概念之一,只要学过哪怕一天英语的人就会知道“时态”这个词。时态的变化在我看来是英语语法里面最简单的概念,却是中国人犯错最多的地方之一,因为中文的动词完全没有时态的变化(别的变化也没有)。我们在说中文的时候动作发生的时间不用语法(grammar)而用词汇(lexicon)来表示,比如: 我昨天吃了个包子、我正在吃包子、我一会儿要去吃包子。这三句话里面吃包子的时间不同,但是“吃”这个词一点不变,完全靠别的词来表示时间。而英语就算表示时间的词不出现,人们依旧有可能判断出事件在何时发生。
所以怎样才是最简单的方法来掌握一个我们完全陌生的语法习惯呢? 答案很简单:要分析,不要背诵(这句话我会经常重复,在我看来,这是学渣们学好英语的关键:永远不要跟学霸们比谁记得牢)。
1. 英语动词的时态(tense)其实只有三种:一般(simple)、进行(progressive) 、 完成(perfect )。
有些人还会分出完成进行时 (perfect progressive tense),我不爱这么分,因为太拗口,我懒得说)。
然后基本没了。真的,时态就这三种(四种,如果你想走正统路线)。
是不是比你那会儿学的简单?你是不是隐约觉得高中老师讲的比这个难?你当年背的名字比这个长?有可能,因为:
2. 以上每一种时态都可能发生在三个不同的时间:present (现在)、past(过去)和 future(将来)。
你现在把这些词连在一起,是不是就组成当年你觉得根本搞不懂的那些词了?比如: 一般现在时,过去进行时,将来完成时等等。
上面这些概念明白了,接下来我们就可以探讨一些当年你老师没有讲过(讲错了)的概念了:
最应该被忽略,最不重要,最没用的信息就是动作发生的时间。
最需要注意的是:你想表达什么。如果你在做题而不是写作,那你最应该问的是:作者想表达什么。
要把各种时态和时间分开记,不要试图把它们一起记下来。也就是说,不要试图记住“过去完成进行时”的样子和用法,而应该分别记住“过去”什么样、“完成时”什么样、“进行时”什么样。
事件发生的时间真的完全不重要!
真的别先考虑事件发生的时间(重要的事情说三遍)
这几个定律记下来,你应该似懂非懂,感觉还是有些抽象,不用怕,我们用数轴来说明:

假设有这样一条数轴:左边为无限远的过去,中间的0点为现在,右边无限远为未来。我们来看看各种时态如何表示。
一般时 (Simple)
一般现在时(Simple present tense)
I love Baozi. 我爱包子。(动词原形)
我们从数轴上来看:我昨天是否热爱包子?是的,热爱!我现在是否热爱包子?是的,热爱!我明天是否还会热爱包子?是的,应该还会热爱。10年前我是否热爱包子?是的,热爱。20年后我还是否热爱包子?是的,应该还会热爱。 也就是说从无限远的过去一直到无限远的未来,出现在整条数轴上的恒古不变的,就是一般现代时。
同样的例句还有:
太阳从东边升起The sun comes up from east.
中国很大 China is big.
一般过去时(Simple past tense)
I loved Baozi. 我以前爱包子。(+ed)
从无限远的过去至到无限接近于现在,或者只要是现在这一个时间点之前发生的事都可以用一般过去时: I loved the baozi from 10 years ago 我深爱十年前那个包子;I loved the baozi from 10 minutes ago 我深爱十分钟前那个包子;I loved the baozi from 10 attosecond ago 我深爱十原秒前那个包子。(扫盲:原秒:光在真空中行进三个氢原子的距离所需的时间,比例上,一原秒之于一秒,如同一秒之于317.1亿年,约为宇宙年龄的两倍)。
一般将来时(Simple future tense)
I will love bazi./ I am going to love bazi 我将会深爱包子。(will/be going to + 原形)
从无限接近于现在直到无限远的未来,只要是“现在”之后发生的事都可以用。
其他例句:略。

*“will” 和“going to” 之间到底有什么差别? 不同的语法书都给过差不多的解释: 一个代表主观意志(going to),一个代表没有经过思考(will)。然而,请看下面例句:
After careful consideration and much thought, I will say it is bullshit. 经过缜密思考,我要说你在扯淡。
I’m going to say you’re full of shit without even thinking. 我想都不用想就要说你全是在扯淡。
我不否认正统语法里面他们肯定有区别,然而我从来没有花过超过0.5秒的时间决定用这两个中的哪一个,我也从来没见过一道(美国人出的)语法题靠will 和going to的区别。换句话说,作为一个文盲来讲,这两个词没区别。
进行时 (Progressive)
有了刚才的基础,我们先上图:

简单地来说,进行时在数轴上表示的是一个时间点。
现在进行时(Present progressive)
I am eating baozi. (动词原形+ing 动词)
我正在吃包子。表示说话的这一刻(这个时间点),我正在吃包子。
同样的例句:He is watching TV. 他正在看电视;She is reading, 她正在读书。
过去进行时(Past progressive)
I was eating baozi at 7. (ed + ing)
7点的时候我正在吃包子。在“现在”这点之前,任何一个时间点发生的事都可以用过去进行时。
同样的例句:He was watching TV when I called. 我来来电话的时候那会儿他正在看电视;She was reading when she died. 她死的时候正在看书。
将来进行时(Future progressive)
I will be eating baozi by 7. (will/ going to be + ing)
7点的时候我将会吃包子。表述“现在”之后任何一个时间点上发生的事。
同样的例句:He is going to be watching TV when I call him. 我给他打电话的时候他将在看电视;She will be reading when she dies. 她死的时候将在看书(她现在还没死,她将来死的那个时间点应该在看书)。
进阶概念:说一个理论数学的的概念:如果一个数轴在正负两端都可以无限延长,那么数轴上的任意一点也都可以无限放大成为一个线段;比如0到1之间的数轴可以有0.001,0.002… 这么无限延续下去。同理,目前我一直用数轴上的“点”来描述进行时所表述的时间,然而进行时和事件本身的长短并没有关系,每一个“点”都可以放大为一段时间。 换言之,进行时表述的是有开始和结束的时间段。
比如: I was eating baozi when Xiaoming was here. 小明在这的时候我在吃包子。 这个时间点是“小明在这儿”的时候,有开始(小明来)、有结束(小明走),但有无所谓长短。小明可能来了2分钟,可能两个小时,也可能半天。
再比如: The universe was expanding in the past 13.8 billion years. 138亿年间宇宙一直在膨胀。 时间点是“138亿年”。
总结:一般时表述的是没有开始或者没有结束(或者两个都没有)的一段时间段;进行时表述的是既有开始又有结束的闭合一段时间。

这两个时态掌握之后我们就可以讲一下最让人糊涂的完成时。
完成时 (Perfect)
完成时既不表示“段”,也不表示“点”,它表述的是一个动作对于一个时间点的影响。
你们最容易犯的错误是把它和过去时搞混,看完刚才两个时态之后你们应该明白,“过去”指的仅仅是动作发生的时间,“完成”才是时态。
现在完成时(Present perfect tense)
I have loved Baozi. (Have/has + 过去分词 - 很多词其实就是直接+ed,除了那些不规则动词外)
我深爱过包子。表述以前的一个事件(爱包子)对现在的影响(依旧爱包子)。要注意的几件事:
表述过去爱包子一直到现在还爱包子。
虽然这个时态的名字是“完成”,不代表这件事一定做完了。
现在完成时常常与“for”和“since”一起用。例如:I have loved Baozi for 5 years. 我爱包子爱了五年。I have loved Baozi since I came to Beijing. 自从我来了北京我就深爱包子。
过去完成时 (Past perfect tense)
I had loved baozi before I came to Beijing. 来北京前我深爱过包子。(Had + 过去分词)
要注意的是过去完成时和现在完成时之间的区别不在于事件本身发生的时间,而在于事件对什么时间有影响。如果对过去有影响(我来北京前)就用过去完成时;如果对现在有影响(自从我来北京后,也就是说我现在还在北京)就用一般完成时。

如果绿色的点是“吃包子”这个事件, 那么我既可以用现在完成也可以用过去完成去表达“吃包子”的动作;区别在于我侧重的是对过去(蓝色点)的影响,还是对“现在”这个点的影响。
从数轴上我们可以推出一个更简单的方法:只有当动作与“现在”之间还存在另外一个事件才可用过去完成时。
例如: I had eaten 5 Baozi before miaotiao was ready. 面条准备好之前我已经吃了5个包子。吃包子这个动作和“现在”之间直接还有一个“面条准备好”的事件。
进阶例句:旧SAT 官方指南 Test 7 Sec.4 改错第21题:

因为洪水让桥变的无法通过,我们租了条小船去岛上。 因为我们在讲过去完成时,答案肯定是D,“had rented”用错了时态。
这句话里面一共只有两个事件:租船+洪水。 因为洪水发生在租船之前,所以租船与“现在”之间没有任何其它事件。于是“租船”这个动作不能用过去完成。
“洪水让桥不可通过” 这件事与“现在”之间还相隔了一个“租船”,所以“洪水”的动作可以用写成: flood had made the bridge inaccessible…
原文里洪水冲桥用的是现在完成时,我们应该理解为现在桥还是坏的。
将来完成时(Future perfect tense)
I will have eaten 5 Baozi before dinner. 晚饭以前我将吃完5个包子。(will + have/has + 过去分词)
跟过去完成时一样,将来完成时表述未来一个时间之前完成的动作。
一个小的总结:

这几个最重要的时态讲完后,我就可以在详细地解释一下我刚刚说的“发生的时间不重要,想表达的意思最重要。”
比如上图里发生在早上9点,吃了3个包子的事件:
I ate 3 baozi. 一般过去时;我只想表达我吃了3个包子。
I was eating baozi at 9 this morning. 过去进行时;我想表述是在过去一段特定的时间内(9点)我在做什么。
I have eaten 3 baozi by 9, so I’m not really hungry right now. 现在完成时;解释我现在不饿的原因:因为9点完成了吃3个包子的动作。
I had eaten 3 baozi before I got onto the subway. 过去完成时;想表达的是上地铁之前吃了三个包子。
我们可以看出,同一个事件我们可以用多种时态表述,而用具体使用哪个时态完全应该取决于你想表达什么,或者你在跟别人聊些什么。
也就是说: 抛开语义和语境看时态都是耍流氓。■
下期预告:古典哲学与句子结构