The Christmas markets in Heidelberg (of which there are 3 I think) are spread across the different market squares in the old town. The markets aren't particularly big, but they are very nice and a good reason to visit. Go to the markets in the evening when it's dark, drink a gluehwein and eat a sausage - nothing better. You can also do some of your Christmas shopping - there are lots of stands selling Christmassy type gifts. You'll also find stands selling lots of different cooking herbs - my favourite is the pizza seasoning (pizza gewuerz) - chuck it on top of any pizza you're cooking at home and it will take great.