The origin of Yankee has been the subject of much debate, but the most likely source is the Dutch name Janke, meaning �little Jan� or �little John,� a nickname that dates back to the 1680s. http://www.answers.com/topic/yankee
I heard that when the English settlers spoke to the local Indians and told them they were English. The best the locals could prounounce it was something like "Yangleesh"
and it went from there to Yankees.
Only those from the Northern States are Yankees so if you go to Florida for your holidays DONT call them Yanks.
PS. My Daughter-in-law is from Florida and I have this on good authority.
The Dutch, first colonists of the New York State area considered that the later British arrivals smelled of cheese, so they disparagingly named them "Jan Kaas" (pronounced 'Yan Keys') = John Cheese.
That's why years later in the Civil War the Southern Confederates used the same term of abuse for their Northern enemies.