Atom editor

atom-logo

Have you ever heard of Atom? Atom is a text editor, similar to Sublime Text, but with a lot of different features, and much more flexibility and freedom. It’s described as A hackable text editor for the 21st century, because it’s very easy to create and change many of the settings available, and there’s a lot!

Atom is my personal editor, I prefer using it than the proprietary (but relatively good) Sublime Text, and other MAINSTREAM editors like vi/vim or emacs. You can do pretty much anything you could do in these editors in Atom, and you won’t have to learn lots of unintuitively shortcuts just to search, save a file or exit the editor, for example :)

Atom is free, made by the Github team, and uses the Electron API. Atom has a LOT of different packages, which are the core of your environment. Here I’ll cover the packages that I personally use, while trying to say a little more about when to use Atom (and when not to).

Interface

Atom interface is very familiar for those who used Sublime Text or a customized vim. Below you can see a screenshot with how I commonly program in Atom.

atom-interface

It has a right ‘files’ section on the right, then the files you open are displayed in the main page, and other files that you open are displayed in ‘tabs’, very much like Sublime Text. I removed the Menu bar from the top to have more workspace available, and I also use the Fullscreen option (F11) to have even more space.

Regarding the interface, there’s probably one command that you NEED to know, which is to open the Command Pallete (Ctrl + Shift + P). With the command pallete you can access pretty much any other command by searching very quickly what you want.

Packages

Here’s the most important part, which is to cover all packages that I use and recommend.

Display colors when you type then, very useful for webdesign or graphic applications;

atom-pig

  • file-icons

    Displays different colors and icons based on the type of file;

atom-files

  • minimap

    Displays a minimap much like the one with Sublime Text. It has a toggle command which I find very useful;

atom-minimap

  • autocomplete-python

    Autocomplete-python greatly increases the default autocompletion of Python code in Atom;

  • MagicPython

    MagicPython is a better replacement for the default “language-python” syntax package for Python. Mainly because it has more advanced features, such as highlighting the newest features of Python 3.5 and 3.6, including type annotations, f-strings and regular expressions;

  • fonts

    Add very useful monospace fonts. I personally use Roboto Mono;

  • highlight-selected

    Highligh the select word in all the file, very much like Sublime Text;

  • language-racket

    Racket language support for Atom (syntax highlighting, snippets, etc);

  • less-than-slash

    Automatically closes an HTML tag when you type ‘</';

  • python-tools

    Refactoring code, renaming variables and more made even more easy (for Python!);

  • todo-show

    Shows a short overview of all “TODO’s” you write in your project, very useful for longer projects and stuff;

Themes

  • One Dark

    One Dark comes pre-installed with Atom!

  • Chromodynamics

    Very cool theme with vibrant colors, my personal choice!

atom-syntax

Usability

Atom is best suited for programming small to medium size projects. If you have a big project, it’s recommended to use an IDE or something more specific for your language. Atom is slower than others editors for opening big files, as Atom open the files by blocks, not by progressively loading it into the software. So for big files, I use Sublime Text or something like nano or vim. But for 99% of common uses, Atom is the best!