The 680 is a poor choice - they're only 5% faster than a 670, but they cost 25-30% more.
Between a 670 and a 7970, well... the 7970 will push higher framerates, and will arguably be "better value" because of that, but will draw more power, be noisier, and have uneven frame latencies. (It's noticeable to some, not so much for others.)
I'd personally go for the 670, as it's "smoother," and will max out pretty much any game out there on a 1080p monitor anyways.