What's the difference between "大衣" (dàyī), "外套" (wàitào), and "外衣" (wàiyī) - which can all be translated to "coat"? As I need to buy some cold weather clothes now that I'm heading further north than Xi'an I tried to look up the word for "coat".

I found there are at least these three terms:


大衣 (dàyī)
外套 (wàitào)
外衣 (wàiyī)


What's the differences between them? Are all terms still in use? Do some of them only refer to items of clothing not really worn any more?
"大衣" usually refers to a specific type of garment, it should be longer and more formal, something you will certainly take off when you stay indoors. No one would call a tracksuit top("运动外套") "大衣", but you can definitely call it "外套" or "外衣". I think a better translation for "大衣" is "overcoat" or "topcoat".

"外套" and "外衣" are pretty much the same, if anything, "外套" might refer to something heavier than "外衣". For example, it might be a bit odd to call a cardigan("开衫") "外套", but it's ok to call it "外衣" as long as you wear it on top. These words are more general, both refer to the outfit you wear on top. From where I come from, the "外" in "外套" and "外衣" means 'on top of', not 'outdoors'. "大衣" is just a kind of "外套"/"外衣", so is blazer("西装外套"), trenchcoat("风衣"), .etc. 

And yes, people still use these terms, and they are something we still wear.

Google some images and you will have a better idea of what they are.

Also, If you are shopping online, "外衣" might not be a good keyword for searching since it's too general to put in product names(I haven't seen any shop owner put it in the title), but "外套" is ok, so is "大衣" if you are looking for that kind of garment.