A text editor is a piece of software you can use to help create programming-related files.
**Something I should note before I go any further...a text editor is NOT a word processing application and vice versa...word processing apps can't be used as a text editor. A text editor provides very simplistic files for browsers to read, where a word processor will add metadata to your files that could create bugs and glitches. Trust me on this...use Word and Google Docs for school reports, not for web development.**
As far as which text editor you should use...the answer is simple...whatever one you feel the most comfortable with. It's like dSLR cameras, some people like Canons, some like Nikons, some soulless monsters prefer Sony branded cameras...they all work to meet a common end, most text editors are no different.
The most popular text editors out there are Sublime Text, Atom, Visual Studio, and much more. Now, as for the text editor I use, I use one called Brackets. It's put out for free by Adobe, and you can download it here. I can switch between most text editors, but Brackets is the one I always use by choice. Again, it really doesn't matter which text editor you use, as long as you use one.
My suggestion is this, download two or three of them, read over the documentation, then after you read the documentation, reread the documentation...play around with them a little bit, and see which one calls out to you.
Encycodepedia is a reference guide to the common syntax and terminology used in everyday programming.
Encycodepedia HTML covers the structural component of building websites.