马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
Have been doing 表示重复动作
曾经在和一位外国朋友聊天的过程中,笔者问他是否是第一次来北京,他是这么回答笔者的:“I have been coming to Beijing for fourteen years.”这句话该如何理解?下面笔者就来详细探讨这个问题。
Have been doing表示重复动作
看完这句话,相信大多数读者第一反应是“我来北京有14年了”,也就是说14年来,他一直长期生活在北京。但实际上,笔者的这位朋友他并不是生活在北京。还有人这样曲解:“我到北京一路上走了14年。”就是说,他从某个地方来北京,由于路途遥远,他花了14年的时间。
非也,果真如此,那不亚于唐僧“西天取经”啊。问题关键在于我们如何正确理解have been coming。其实,这里的have been coming表示的是一个重复的活动,所以这句话正确的理解应为:“14年以来,我常常来北京。”就是说,在14年期间,他多次来北京,而不是一直在北京住了14年。
那么“我来北京有14年了”该怎么说呢?这里提供两种说法。
1
a. I have come to Beijing for fourteen years.
b. I have been in Beijing for fourteen years.
解析:
这句话中的“来”并不是一个动作,而是强调在北京的状态,所以我们不能用短暂动词come,况且短暂动作是不能表示延续的,所以也无法和for fourteen years这样的持续时间状语连用。所以,a句不对,正确的说法是b句。
这里我们讨论的其实是have been doing所表达的英文思维问题。也许我们都知道have been doing这一形式的语法术语叫“现在完成进行时”,然而我们可能并没有真正弄清楚have been doing这一动词形式背后的真正的英语思维——用短暂动词(如come)的完成进行时(have been coming)来表示到目前为止的一段时间内重复发生的动作。
场景展示
我们来看看下列这些场景中是如何使用完成进行时来表达重复动作这一思维用法的。
场景一: 跑步减肥没效果,想放弃……
2
A: I've been running a mile every afternoon for the past month, but I still haven't been able to lose more than a pound or two. I wonder if it's worth it.
B: Oh, don't give up now. It always seems hard when you are just starting out.
A:近一个月以来,我每天下午都要跑一英里,可是我减掉的体重还不到一两磅。我都怀疑这么跑是否真的管用。
B:哦,现在别打退堂鼓,万事开头难啊。
解析:
上文中说“近一个月以来,我每天下午都要跑一英里”,说话人头脑中有一个较明确的表示到目前为止的一个时间段,即for the past month。在这个时间段里,run的动作是重复发生的,即每天下午重复一次,这时我们就要用完成进行时have been running。由此我们用了以下的a句来表达。
a. I've been running a mile every afternoon for the past month.
如果在说话人的头脑里没有这样的一个时间段的概念,而只表示一种泛泛的日常习惯活动,我们则要用一般现在时来表达。
b. I run a mile every afternoon.
我每天下午跑一英里。
这时我们只是说明run这个日常习惯的活动,而不知道run这个动作是在哪段时间内重复发生的。
有时,若上下文对话场景已暗示有一个时间段的概念,即使没有明确说出这个时间段,我们也要用have been doing来表示在这一未明示的时间段内重复的动作。
例如下面这个句子。
c. I have been running a mile every afternoon.
到目前为止,我每天下午都是跑一英里。
比较b、c两句,我们看到,两句中动作没变,都是run,但是把run的形式由原形run变为完成进行时have been running,句子所要表达的意思也随之发生改变。
在这里我们加上了“到目前为止”来对应翻译英文的语言标记have been doing这一动词变形。下面我们给出c句更为完整的语境,在下列这样的语境中,我们就只能用完成进行时态了。
d. I have been running a mile every afternoon, but I think I'll run two miles later.
到目前为止,我每天下午都是跑一英里。不过我想以后改为两英里。
此时我们就不能说:“I run a mile every afternoon, but I think I'll run two miles later.”
场景二: 评论电视节目……
3 A: You know some TV channels have been rerunning a lot of comedies from the sixties. What do you think of those old shows?
B: Not much, but the new ones aren't so great either.
A:你知道一些电视频道一直在重播60年代的许多喜剧电影,你觉得那些老片子怎么样?
B:不怎么样,不过新的喜剧片也一般般。
解析:
上文中说的“一些电视频道一直在重播60年代的许多喜剧电影” 即是在近期的一个重复发生的事情,所以我们用了have been rerunning。
场景三: 朋友要结婚,自己不知道……
4 A: Guess what? Michael and Jane are getting married!
B: Really? I didn't even know they were going together.
A: They have been going together for over three years now.
A:知道吗,麦克和简要结婚了!
B:真的?我连他们俩在谈恋爱都不知道。
A:他们恋爱都三年多了。
解析:
中文“恋爱三年多了”用英文该怎么说呢?相信有读者会想到fall in love这个短语,但是如果我们说一个人have been falling in love for three years则往往表示在三年当中,他不断地恋上不同的人,恋事不断,但终无结果。在口语中,go together就表示“谈恋爱”的意思。这里的go together同样是表示在三年当中不断重复的一个活动,所以用了have been going together。比如我们还可以说:“They have been dating for over three years now.”同样表示重复约会(date)这个动作。
综上所述,短暂动词用于现在完成进行时往往表示重复发生的动作。
具体来说,就是表示到目前为止的一段时间内重复发生的某一活动(a repeated activity, a habitual action in a period of time up to the present)。需要注意的是,此时的句子谓语往往都是短暂动词,如果是延续动词则可能表示一个延续的活动,比如本文开头的那个句子若将谓语come改为延续动词live说成:“I have been living in Beijing for fourteen years.”(我在北京生活了14年了。)此时have been living表示一个延续的living活动。
需要下载专业的英语语法书,英语字典,请到这里 桐木舟网站(domzh.com)免费下载,初中,高中,英语专业,大学英语,考研英语,出国留学英语,各种英语著作,都可以尽情免费下载。
|