Atom is a free, open-source text and code editor for Windows, macOS and Linux, created by GitHub. Atom is for writing code and text. Users can change almost every part of it, from colors and key bindings to its commands. GitHub has since retired Atom. The project is archived and receives no security updates. Its online package service and the Teletype collaboration feature no longer work. Users can still download pre-built Atom binaries from the releases of the archived atom repository.
An editor built from web technology
Atom is built on Electron and works as a specialized variant of Chromium designed to be a text editor rather than a web browser. Each window is a local web page with Node.js available to its scripts. As a result, the interface is styled with CSS and extensions are written in JavaScript or CoffeeScript.
The default installation is itself a collection of more than 80 packages. The file tree, the settings screen, the spell checker, the themes and the file finder are all packages. They use the same programming interface available to anyone writing an extension, so users can change or switch off any of them.
Opening projects and finding files
Atom opens single files or whole folders, and several project folders can sit side by side in one window. When a folder is open, the Tree View shows its contents in a side panel. Users can create, move and delete files and folders there with the keyboard or a right-click menu.
The fuzzy finder locates a file by typing part of its path rather than browsing the tree. It can search the whole project, only the files already open, or only files that are new or changed since the last Git commit. The finder leaves out files in .gitignore.
Inside a file, Atom can list its functions for quick jumping, set line bookmarks and go straight to a line number.
Writing and changing code
Atom detects each file’s language, mainly from its extension, and applies the matching grammar for syntax highlighting. If it guesses wrong or falls back to plain text, users can change the grammar by hand for that session.
Editing goes beyond typing. Atom can place several cursors at once, by clicking, by adding cursors above or below, or by selecting each further occurrence of a word. One edit then applies in many places. Users can move, duplicate or join lines, and reflow paragraphs to a set line length. Brackets and quotes close automatically, and Atom highlights matching brackets or HTML tags. Users can fold code by block, indentation level or selection.
Built-in autocompletion suggests words found in the current file, and a setting extends it to every open file. Snippets expand a short prefix into a longer piece of text when users press Tab. Language packages bring their own, and custom snippets can include tab stops and placeholder text the cursor jumps through.
Search and replace
Atom’s find panel works on the current file or across the whole project. Searches can be case-sensitive, limited to whole words or a selection, and can use regular expressions with captured groups reused in the replacement. Users can narrow project searches with path patterns such as a single folder or one file type. Clicking a result opens the file at that line.
Panes and prose
The editor area splits horizontally or vertically into panes, each holding its own tabs. For prose, Atom spell-checks plain text, Markdown and Git commit messages. It shows a live Markdown preview that updates while typing and can copy the result as HTML.
Git and GitHub inside the editor
When a project folder is a Git repository, Atom marks added, changed and removed lines in the gutter. It also shows the current branch, its distance from the upstream branch and the file’s status in the status bar. Users can revert a file to its last committed version.
Users can stage changes by whole file, by hunk or by single line, then commit them with a message and optional co-authors. Users can amend or undo the last commit, create and switch branches, and fetch, pull, push or publish work. The editor lists merge conflicts and lets users resolve them.
The GitHub panel links Atom to repositories hosted on GitHub. It can open a pull request, list open ones with their build status, check one out locally, and show review comments to answer and resolve.
Themes, settings and personal scripts
The Settings View controls fonts, tab size, soft wrapping and other editor behavior. It also lists every installed package with its options and key bindings. Atom ships with light and dark interface themes and several syntax themes.
Behind the settings screen sit plain configuration files. config.cson stores settings, including per-language overrides such as a different tab length for Python. keymap.cson remaps keys to commands in specific contexts, and styles.less restyles any part of the interface with Less or CSS. An init script runs when Atom starts and has full access to its programming interface. A user can therefore add a new command without building a full package.






