In your question you said you want to learn “web designing”. That’s a tricky phrase, lol.
If you simply want to build your own site, then use tools like Joomla, Frontpage, Sitebuilder, Homestead, Dreamweaver, or a hundred others. These are cut-and-paste programs that do all the programming for you. Search Google for site building software, there’s lots of it for free (and some offer cheap monthly hosting). Just drag & drop your way to a cool site.
But if you want to actually learn and understand coding, start with videos about HTML and move up from there. Go to YouTube and search for “learn html”, “learning html”, and every similar phrase you can think of. There’s nothing better than a real person showing you.
After a week or two of playing around you’ll be able to move on to more interesting things. HTML is the foundation that holds all the other elements together. Before you learn javascript, php, css, and other things, you have to understand how a page of code flows from top to bottom, and have an idea of what’s going on that’s causing things to appear on screen. HTML will give you that broad overview of how programming works, in the simplest and fastest way possible. And it’s easy to learn additional things once you have the basics. (The new HTML 5 will change the way some things are currently being done anyway, so worry about that other stuff later. HTML will always be the foundation.)
You need nothing more than Nopepad (or equivalent on Mac). Like @wenn said, typing the real code manually will make you learn faster, and give you better understanding and retention of the material. Not to mention complete control of your site.
(Firebug won’t do anything except leave poor a_emad90 staring at things like <span> and <div> and class= without the slightest clue what any of it means. Yikes!)