Atom
I’m a long-time Emacs user. I started using it back in the 80’s when I was programming in Lisp. I moved away from it when I was working in Windows, but when I came to Linux in about 2001, I re-acquainted myself with Emacs and I’ve been using it ever since.
I haven’t actually written about Emacs itself in this series on the tools I use, but I have written about a couple of Emacs packages, magit and git-timemachine.
Don’t get me wrong, I use other editors as well. When programming Smalltalk, for example, it’s pretty hard to use anything but the built-in text editor. I’ve also grown to prefer RubyMine for Ruby development.
I work on a team where we do a lot of pair programming. We have a couple of people that are interested in Emacs as well as several Vim fans.
In order to make it easier to pair in different environments, we’ve all adopted Atom as our text editor of choice when pairing.
While initially skeptical and a bit resistant to having to learn yet another new editor, Atom has grown on me and I really like it.
There are numerous plugins available for it that make it a pretty solid development environment for almost any language. Given that I’ve had to work in a lot of different languages the past two years, that’s been very handy.
There are plugins that make Atom work more like Vim, but that don’t (much) get in the way of non-Vimmers like me. That makes it pretty handy for pairing. There are also packages to make it work like Emacs, but I haven’t tried those as the override the default key bindings that my pair programming partners are used to.
If you’re already an Atom user and are curious about my setup, I keep my dotfiles on GitHub. In particular, I use a plugin called Package Sync. On a new machine, I can clone and install my dotfiles, manually install Package Sync, and then use it to load the rest of my plugins.
If you’re looking to change editors, or need a common editor for your whole team that can stave off some of the editor wars, give Atom a try.