I have been using Sublime Text 3 on Mac for meteor and node development for a while now. I really like the very minimalist UI. Don't let that fool you, though. Sublime is an extremely powerful and extensible editor. There are tons of packages for Sublime that let you add pretty much any feature you can think of - git integration, linting, prettifying code, etc.
I heard about atom.io a while ago and just saw it mentioned again when I researched a plugin for Sublime. So, why not give atom.io a try? What's really cool about atom.io is that it is written in js/html/css and runs on Chrome/node.js. That makes it very hackable. You can even pull up a developer console just like you would in Chrome. Let's say I want to change the font of the directory tree on the left (definitely needs to be 20px Arial). I pull up Dev tools (View->Developer->Toggle Developer Tools), and select the element in dev tools:
OK, now I just need to edit my personal stylesheet (Atom->Open Your Stylesheet):
That took all of five minutes. I expect that atom.io will soon surpass Sublime in terms of number and quality of packages. If you know web technologies, you can author a package. The barrier in Sublime is a little higher because it is written in C++/Python and packages are in Python as well.
So, which is better - Sublime or atom.io?
- I found that font rendering on a Retina screen is better in Sublime.
- Sublime has better performance when opening files, scrolling, etc. - it's just closer to the metal.
- atom.io GitHub integration is perfect (not really a surprise because it was created by the GitHub folks)
- Changing settings is a lot easier in atom.io. In Sublime, you have to edit JSON formatted files.
I decided to stick with Sublime for now just for the font rendering and the better performance. I already have a Sublime license, though. If I didn't have one and was looking for an editor right now, it would be really close.