This is where many web developers tend to disagree. We can never seem to settle on a good code editor, ever. I'm going to leave you with a few of my favorites and some that I hate.
First off, I live and die by Macromedia Dreamweaver 8 Win/Mac. As a matter of fact, I also use Macromedia Fireworks 8heavily for my web site designs. I just think that they have done a good job and incorporating HTML and CSS together. Especially with version 8.0. But then again, you get what you pay for because it's going to set you back quite a pretty penny ($399). But it was a good investment for me.
On the other hand we have the Frontpage junkies. I haven't really looked at Frontpage much since early 2000. I've opened up the version that comes with Office XP, but I was not impressed. What I do remember is that back in the day it was horrible. Frontpage used to dump a bunch of Microsoft specific “tags” into the code that it just served to bulk up the final output. There is the small advance of using Frontpage Extensions, which enable things like site counters and other things (sorry, I really haven't been looking into it), but the problem lies in the fact that Frontpage extensions on servers usually cost more and they are very limited, and simply I haven't heard anything about Frontpage lately, so I'm staying away from it.
For PHP editing I use a simply text editor called emEditor. One nice feature is tabbed editing. It also has syntax highlighting. Since I don't write or compose very large PHP scripts, this is more than adequate for me.
When I'm at work and on Linux (Fedora) I stick to KDevelop. Most likely, I would be doing some C programming anyways, so it is just convenient since it is already opened to just drag and drop scripts and HTML files in there. I don't, however, do any heavy HTML design on Linux though. I haven't found tools suitable for such yet. There is something called NVU, but it just doesn't do enough for me to design a site from scratch using this.
Now comes to what really upsets me. All the so-called HTML “programmers” out there h who live and die by Windows Notepad. All I have to say to them is come on. They claim that they have a true mastery of the language and that it doesn't matter what editor they use. Ok, but let's examine why this is not a good argument. HTML is a Mark Up language. It's basically scripting. It's not programming in the least sense of the word. If you have to equate it to something, it's going to be Word Processing. Is there really something to brag about here? I, personally, do not know very much HTML and I refuse to sit and learn HTML. I mean, who really cares if you know HTML or not? People come on, it is really nothing to brag about.
Now don't get me wrong, knowing some HTML is crucial, but no one with any sense sites and does an entire site in Notepad. No one designs a site in Notepad. Designing includes images, layout, etc. Designs are done in image programs such as Fireworks, Adobe Photoshop, or ImageReady. They are then sliced in those programs and implemented using HTML. The image programs do a lot of the HTML code themselves. The only thing that is left to the webmaster is the addition of content. Dreamweaver can sometimes be used for simpler designs. Basically my point is if you're designing, you need to see what you're doing and an Image processor or a WYSIWYG editor is essential.
Now if I need to perform a small change to an already existing website, I'm not going to load up Dreamweaver to do so. I'll use a small text editor. However, it will never be Notepad. Notepad has no buttons for the addition of frequently used tags like comments, links, images, etc. It also has no syntax highlighting. Small errors and bugs are extremely difficult to catch. Not to mention just the time wasted typing in all those ridiculous tags over and over again.
Some Notepad advocates claim that they control the HTML exactly how they want it and that no WYSIWYG editor “spoils” their code. This argument could have been used back in the days of Frontpage in the late 90's. Right now, Dreamweaver's code is XHTML compliant and any thing that is not needed can be excluded. The code generated is very clean. I would even support a plain text editor with some HTML capabilities, such as short cuts for tags like tables, images, links, bold, etc.