There is, as other people have pointed out, no "correct" answer to this question, other that "use a few different editors, and settle on what you like".<br><br>I personally use emacs. In fact, I use emacs for a lot more than just editing code.<br>
<br>The reason I found myself really liking emacs was because I'm the type of person who likes to be able to really customize whatever I'm using to my tastes - emacs is _meant_ to be customized, and although the learning curve is steep (especially if you have no previous exposure to lisps), it is possible to be tearing emacs apart to fit your tastes within a few weeks to a month of using it.<br>
<br>If you're the same type of person, you'll probably enjoy emacs.<br><br>I do advocate learning a powerful text editor, because the reward for spending a lot of time learning one is very great. The only editors I'm aware of that stand out from the crowd as being more powerful than the mass of other editors are emacs and vim - but then again, I don't have much experience with newer editors (for instance, Eclipse is a lot more extensible than I previously thought that it was).<br>
<br>A word of warning is in order though - if you _do_ decide to spend the time learning a powerful text editor off the bat in your journey as a programmer, prepare to be _extremely_ frustrated for a while. It may be more prudent to stick with editors that have an interface that you're used to (but support syntax highlighting, auto-indentation, etc) than to jump into the unknown. A little bit of programming experience can make understanding editors like vim and emacs a lot easier than otherwise.<br>