The plugin ecology for Atom is also great. Sublime has an extremely limited API; I remember trying to implement a simple autocomplete-based window switcher, back in the day, and had to give up because was no way to programmatically switch to a new window.<p>With Atom, packages can manipulate the editor. For example, the Atom linter shows errors on the line where it occurs. It can do this because packages are allowed to hijack the editor&#x27;s rendering, something Sublime packages can&#x27;t do. (The only thing you can do in Sublime is to mark areas for colorization, and there are some things you can do with the gutter.)<p>There&#x27;s also a neat package that turns Git&#x27;s textual conflict markers into live markers [1] allowing you pick which side to use. It also displays a list of pending project-wide conflicts while you&#x27;re working — also not something Sublime plugins can do.<p>The Markdown Preview package is also very nice [2]. It displays a preview window inside Atom. Not possible with Sublime&#x27;s API.<p>With Atom, I can have the sidebar colorized based on Git status, for example (it&#x27;s a built-in package), and the icons can be themed [2]. Sublime plugins can&#x27;t modify the file sidebar other than add context menus.<p>In short, Sublime really needs to up its API game in order to compete with Atom.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;smashwilson&#x2F;merge-conflicts" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;smashwilson&#x2F;merge-conflicts</a><p>[2] <a href="https:&#x2F;&#x2F;github.com&#x2F;wyze&#x2F;seti-icons" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;wyze&#x2F;seti-icons</a>