英语的虚拟语气

问题描述:

英语的虚拟语气
I wish that I__with you last night.
A have gone
B could have gone
为什么?
不是应该用现在完成时态吗?

这里涉及到了wish 的用法,特别是虚拟语气的用法.
wish 有两个意思.“期望”和“祝福”.一个是负面,另一个是正面.正面的“祝福”用於生日和过年过节的“祝福”,祝人好运等.但是wish大多数都用在“负面的期望”,表示一个无法实现的“期望”,所以在 wish 后面跟着的动词是“过去式”而不用“现在式”(我这样解释是方便大家,特别是初学者理解虚拟语气的用法).
那从最科学的语法上来讲,用于wish后面的从句,表示与事实相反的情况,或表示将来不太可能实现的愿望.其宾语从句的动词形式为:
真实状况 wish后从句动作先于主句动词动作 ,现在时→ 过去时(be的过去式为 were)
从句动作与主句动作同时发生 ,过去时→ 过去完成时 (had + 过去分词)
将来不大可能实现的愿望,将来时→ would/could +动词原形
I wish I were as tall as you.我希望和你一样高.
He wished he hadn't said that.他希望他没讲那样的话.
I wish it would rain tomorrow.我希望明天下雨就好了.
这里I wish that I__with you last night.真实的情况是昨晚我没和你一起去,所以希望中的动作(没一起去)是先发生的,所以要用过去式,而这里没有Be动词不用were,所以用could have gone.