I started off with notepad, now that i'm using Linux I use gedit. My belief is that if you don't know how all the code works, you shouldn't be making websites in the first place, so that's why I ty[e it all. I did use dreamweaver for a while and hated it.
I learned everything I know by looking at the source code of existing websites (this is with no prior XHTML knowledge), and, more recently, w3schools for specific things.