I see 3 main types of code editors...
On one end of the spectrum we have powerful neckbeard editors like Vim and Emacs. These editors are language agnostic, offer a ton of raw text editing power, and can be heavily extended. These are CLI editors with no real GUI. They have the steepest learning curve.
At the other end of the spectrum we have powerful IDEs like PHPStorm, Visual Studio, etc. These editors are developed from the ground up around a specific set of languages. They encourage mouse use, and offer a ton of debugging and refactoring tools, etc. The main downside is speed, mostly due to their project indexing and code intelligence features.
The third type of editor bridges the gap between the above types. I think the two most popular editors right now are Sublime Text and Atom. My favourite of the two is Sublime Text. Sublime is blazing fast, and offers both neckbeard-like editing power and IDE-like code intelligence features through community packages. Here's my list of must-haves:
**Pa