Github's Atom Editor

GitHub gets both a lot of love and a lot of hate in the open source community: their site is probably the easiest and best way available to deal with git repositories, and thousands upon thousands of open source projects use it. But GitHub isn't open source: you can't duplicate their setup on your own server because their code isn't available. The pragmatists are fine with this as it works and your code isn't locked in, so who cares? The purists hate it.

GitHub has recently released an editor called Atom. I'm pretty conflicted about it: it's open source (yay!), it's based on JavaScript and node.js (ugh), and as a result absolutely massive at 71MB compressed (boo), and highly extensible (yay!). I've installed it on Windows at work and Linux at home with no difficulties. On Linux it apparently includes its own version of node.js with the install because it's not a dependency.

Something they barely mention for the Windows install and not at all for the Linux install is that Atom sends usage metrics back to GitHub. This can be disabled, and is my first step. GitHub - whose instructions are usually excellent - provides what I have to assume is a deliberately poor set of instructions for how to turn metrics off. I hope my description will be better. Inside Atom:

"Edit" menu > "Preferences" > "Settings" tab > left column "Packages" > "Filter packages by name"

Type in the box "metrics" and click the "Disable" button. You may want to repeat the process for the "exception-reporting" package, which also calls home.

With that out of the way, I've added two further packages (still under the "Settings" tab click on the left column "Install" link): "minimap" (something I've often wished we had in vim) and "vim-mode".

I don't know how much I'll be using Atom: "vim-mode" isn't what I would call complete. Most of the movement commands are available (j, k, h, l, g* etc.) but typing ":" in command mode does nothing. As it turns out, this seems to have been a matter of considerable debate, with the author of the package not particularly wishing to re-implement the entirety of vim (which I can understand) and arguing that users should also use the power of Atom (which I can also understand, if not personally emulate), but many people protesting that things like ":w" are muscle memory directly associated with vim (which I agree with). I thought the idea of having the stuff associated with the colon implemented in as a separate "ex-mode" package was a great idea ... but nobody has done it. I use vim ex mode A LOT. And I also use dozens of terminals, usually with vim in it - and Atom is purely graphical. We'll see.

Update: github user lloeki has taken up the ex-mode challenge. It appears to be quite rudimentary as of yet (2015-02-28), but this is great.

I've also edited ~/.atom/config.cson and under "'editor':"" I've added "'softWrap': true" so that I don't have to scroll endlessly sideways on long lines.