现在完成进行时——这条规则学生大多「听过」,却很少真正用对。原因往往不在记性,而在于汉语和英语在这里的底层逻辑不一样。这一讲把它拆开讲透。
为什么它值得单独讲
这个时态汉语里没有对应形式,学生要么不用,要么用错,说不出「一直在做、还没停」这层意思。
规则
have/has been + 动词 -ing,表示从过去某时开始、持续到现在并可能继续的动作,常与 for、since、all day 连用。
中国学生的典型错误
和现在完成时混用,忽略「持续且未完成」这层含义;或把瞬间动词(如 finish、arrive)放进进行时。
错句对照
错:I am learning English for ten years.
对:I have been learning English for ten years.
为什么:持续十年,用完成进行时。
错:She has read since morning.
对:She has been reading since morning.
为什么:持续动作要用进行形式。
错:I have waited for you for two hours.
对:I have been waiting for you for two hours.
为什么:强调一直等,用完成进行时更自然。
怎么练
① 说说你今天「一直在做」的三件事,用 have been doing 表达。
② 检查动词是不是可持续的:arrive、finish 这类不能用进行时。
③ 把 for 和 since 各造五个句子。
今天就能开始
今天就做一件事:在自己最近写的一段英文里,专门找一遍和「现在完成进行时」有关的句子,按上面的规则逐句改。改不动的地方,说明规则还没吃透,回头再读一遍。