This week I was introduced to a new text editor. While it is not a command line text editor, or even a Linux-only text editor, it does fit pretty well into the current line-of-thought.
Atom is a GitHub project described as a “hackable text editor for the 21st century”. It is designed to be deeply customizable, but still approachable, using the default configuration. Atom can be run on OS X, Windows, and Linux.
For anyone who does not already know, GitHub is a web-based repository hosting service for Git, which is a version-control and management software for source code. Github is used primarily to host open-source software projects. It’s a popular social network for developers, programmers, and even end-users.
Atom provides support for over 25 web/programming languages, such as HTML, CSS, Javascript, PHP, Python, Perl, MySQL, C, Ruby, and Java, to name a few.
Atom supports plugins written in Node.js (a JavaScript runtime environment), increasing its diversity and customizability.
Let’s look at a few basics of using Atom. My testing was done on Linux, but most aspect should apply to using Atom on any platform.
Features
First off, the primary features that I have noticed so far — and much appreciate — are:
– Automatic Indentation
– Highlighting (Of >25 Languages!)
– Tabs (Supports Switching Around Through Multiple Open Files)
– Customizability (Chances Are There’s Already a Package for Anything You Might Need)
Installation
To install Atom on Linux, download the latest rpm file and type dnf install /path/atom-file-name.rpm
in your command line. (Make the necessary adjustments, of course, to specify the correct path and filename.)
To open the newly-installed package, type in atom
or (if you want to do things the hard way) browse to Applications > Utilities > Atom.
On Windows and OS X, download the appropriate file type and follow your normal installation process.
Getting Started
The first time that Atom is opened after installation, you will see a welcome screen. The welcome screen gives options such as pointing out the locations of the Atom docs, forum and website, as well as offering to open a project, install a package, choose a theme, customize the styling, hack the Init Script, add a snippet, and learn some shortcuts.
When you next open Atom, it will open to either a blank “untitled” file, or the same tabs/files/projects that were open when you last closed it.
I would like to take this time to advise you to learn some shortcuts, if you plan to use Atom at all; they’re handy! In Atom, the shortcuts are called keybindings. Keep in mind, that when a shortcut (keybinding!) refers to the Cmd key — and you can’t find it on your keyboard because you’re not using a Mac — the PC equivalent is the little Windows icon key, or the Ctrl key, whichever works in your circumstances.
Projects and Files
There are multiple ways to open files and “project folders”, which are folders (directories) that contain multiple files related to a specific project.
“Opening a project” or File > Add Project Folder will allow you to add project directories to the tree view on the side of the window. Multiple projects can be open and shown in the tree view at once. From tree view, files within a project can be modified, renamed, deleted, created, etc.
Project folders can be removed from tree view by right-clicking the tree view’s directory and selecting “Remove Project Folder”.
Existing files can be opened either by clicking on them where they show up in a project directory’s tree view, or via File > Open (Ctrl + O).
New files can be created regardless of whether or not a project is open. File > New File (Ctrl + N) will open a file, which can then be saved into any directory/project.
Open files can be saved by any normal means, and closed by clicking on the little X on each tab or right-clicking and selecting “Close Tab”.
Projects and files that are open when Atom is closed will still be open the next time Atom starts.
The Command Palette
The command palette, which pops up when you use the Ctrl + Shift + P shortcut (keybinding!) is a search-driven menu that does just about anything that can be done in Atom.
You can look up commands, as well as their keybindings, to perform all available tasks.
Atom Preferences
Edit > Preferences (Ctrl + ,) offers a number of interesting “Core Settings” to choose from, regarding the setup and functionality of the Atom software.
They’re worth scrolling through, to see if any of the available options make your job easier, or better suit your working preferences.
Atom Packages
Atom comes with approximately 77 built-in “core” packages. Some packages affect the functionalities and features available in Atom, while others affect the look and feel.
Packages — even those that come built-in — can be added, disabled, or removed. If there are some that you will never use, removing them may speed up the application.
New/additional packages can be found on Atom.io, or by going to Atom’s Edit > Preferences > Install tab.
From the Install tab, simply search through the available packages, and click the Install button to install a new package.
Click on the Packages tab (Edit > Preferences > Packages) for details and/or to change the status of a Core, Community or Developer package.
Packages can also be installed from the Linux command line, using the apm utility, which installs with Atom. Type apm help install
for details.
Atom Themes
Atom comes with approximately 12 built-in themes, some of which affect the user interface, and others of which control syntax highlighting.
Themes are controlled much the same as packages. You can browse themes on a href=”https://atom.io/themes”>Atom.io or go to Atom’s Edit > Preferences > Install tab and click the Themes button to install new themes.
Installed themes can be viewed and/or disabled, etc. from the Themes tab (Edit > Preferences > Themes).
Themes can also be installed from the Linux command line, using the apm utility, which installs with Atom. Type apm help install
for details.
Conclusion
These details are just a few very basic hints to get you start using Atom. Remember, I just started learning it this week myself!
To learn more, browse the Atom Documentation, or start experimenting!
And in the meantime, you can download a copy of the Atom keybindings (turned into a printable reference sheet) by subscribing to my mailing list.