1. Sublime Text

Venerable, powerful and customizable, Sublime Text checks just about all the boxes for a good text editor for programmers. It’s well-known and broadly recognized as one of the best available and for good reason. One of the coolest features is “multi-caret editing,” which is the ability to type the same thing in several places at once. This is perfect for tweaking your variable names or other pervasive info. You can also select all characters in a column and find and replace strings via regular expressions.

2. Atom

Developed by GitHub, Atom is an open-source text editor designed to be hackable from the core. Don’t like a feature? Get to work on it. It’s written in HTML and JavaScript, and you can tweak the UI with CSS. Since it’s deeply integrated with GitHub, you can also add thousands of packages to Atom from within the editor itself. If you want to get your hands dirty creating the perfect workspace, this is the tool for you.

3. Light Table

Light Table was one of the top technology Kickstater projects ever, and it has some modern features that make it unique. My favorite is the ability to open a browser tab next to your code within the application to see the changes you make to your code reflected in real time. It’s one of the few code editors to have features like this built in.

4. Vim

If you’re not aware, the “Vim vs. Emacs” flame war debate has been one of the longest-running conflicts in the history of computing. It even has its own Wikipedia entry. Which is better? Well, that’s up to you. I prefer Vim, personally. Vim (and its counterpart, vi) is a small text editor that can be run just about anywhere. As a general statement, it includes less stuff that Emacs, and that makes it smaller and faster. Rather than rely on modifier keys to indicate commands, Vim uses regular characters. Commands are less than intuitive (i.e., you type :q! to quit), but you shouldn’t ever need to move your fingers from the home row. Once you get fast in Vim, every other editor will feel like sludge sliding downhill.

5. Emacs

Another text editor from way back when, as well as the other side of the above-referenced discord, Emacs is best known for its extensibility and general flexibility. Thanks to this expandability, Emacs is sometimes called “an OS within and OS,” and users have created web browsers, games and news readers to run inside it. Among other built-in features, you get a broad library of shortcuts, the ability to execute arbitrary code at startup, and multi-user collaboration. The application makes extensive use of modifier keys (which Vim avoids) to provide extended functionality. Also, Emacs has its own church. Make of that what you will.

6. UltraEdit

Like Sublime Text, UltraEdit is a powerful text editor that gives you a lot of tools and a lot of freedom. It even includes some of the same features, like multi-caret editing and a customizable user interface. UltraEdit also brings a customizable, icon-based toolbar and ribbon, something that other text editors lack. You also get integrated FTP, SSH and Telnet for working with server-based code. It has more of an enterprise-level focus than the other editors on the list, and it’s priced to reflect that.

7. ICECoder

What could possibly be more cross-platform than a browser? ICECoder runs inside a Chrome tab, providing a lot of the power of other editors on a ubiquitously available platform. ICECoder’s focus was initially on browser-based programming and markup languages like HTML and JavaScript, but it has since expanded to include C and Java as well.

Conclusion

For some, picking a text editor is more emotional than picking a spouse. Ironically, the same advice works: try out a couple and see which one suits you best before making a commitment.