这也不是个特例
首先这个if i were you, i would have 这个是英语母语的人还有非正式场合经常用的,甚至没有人说 if i had been you , 这非常的不自然反而,我的美国老师在纠错课的时候遇到这句话,他都不会把这个当错误拿出来说,但是他的确是语法错误,可能不久之后也会变成正式语法吧,因为我平时几乎都是听到这样的话。
举个例子,ifihadbeenrich,iwouldhavehelpedyou.这句话是说如果我以前有钱,那我以前肯定会帮助你,但是你说这句话的时候,你现在是有钱还是没钱呢,有可能你有钱了是不是,那显然这句话不能包括到你说话的现在的信息。
当你说这句话的时候你现在还是没有钱,从过去延续到现在的没钱, 那么你就可以用2nd condition的条件和3rd conditional结果,表达出你到现在还没有钱的这个含义,他会比正确语法里 还多一个含义出来。
if i were rich, i woulda helped you. 给人的感觉就是 我以前没帮你,是因为我从那时候到现在都没有钱啊,不是不帮你,是过去任何时间点上我都帮不了你。
同样的 if i were you, 表示从过去到现在 我都不可能是你。。。
你 要是中国考试你不能这么写,但是平时说话这样说才更自然,尤其是和英语母语的人说话
If I had been you 的意思是指过去(当时)是你的话,与过去事实相反;而If I were you 的意思是指现在(说话时)是你的话,与现在事实相反,我不是你,也不可能是你。
前者是现在完成时的虚拟语气,后者是一般现在时的虚拟语气。两者都是假设,且发生的机率不大。前者应是从过去到现在,还有可能持续到将来。后者是一般情况。