Introducing Atom Text Editor

A hackable text editor for the 21st Century

About Atom Text Editor

Atom is a modern text editor ready to use productively.
Atom is a desktop application built with HTML, JavaScript, CSS, and Node.js integration.
It runs on Electron, a framework for building cross platform apps using web technologies.

Architecture

TOC

Atom is based on Chromium, Squirrel, Node.js, JavaScript / CoffeeScript, Json and CSS / less.

Atom is a specialized variant of Chromium designed to be a text editor rather than a web browser.
For example, the layout of our workspace and panes is based on flexbox.
Every Atom window is essentially a locally-rendered web page.

All the APIs available to a typical Node.js application are also available to the code running in each window’s JavaScript context.

Features

TOC
  • Built-in package manager ctrl-comma
  • Smart autocompletion ctrl-space
  • File system browser ctrl-o/ctrl-shift-o
  • Multiple panes to compare and edit code cmd-k arrow
  • Find and replace cmd-f/cmd-shift-f
  • Snippets alt-shift-S
  • Version control cmd-alt-Z
  • Spell checking cmd-:

Licence

TOC

Atom is Open Source and published under Github MIT Licence.

It is a long-term investment, and GitHub will continue to support its development with a dedicated team going forward.
Emacs and Vim already have demonstrated over the past three decades, that if you want to build a thriving, long-lasting community around a text editor, it has to be open source.

Use the Atom Text Editor

Documentation

TOC

Atom Flight Manual

Press cmd-shift-P to show the Command Palette

Don't forget that atom is a desktop application built with HTML; JavaScript, CSS and Node.js

API Reference

Atom global for dealing with packages, themes, menus, and the window.

Using the API http://flight-manual.atom.io/upgrading-to-1-0-apis/

Packages

TOC

Atom Package Directory https://atom.io/packages

Howto install and configure packages

Atom has an integrated Package Manager http://flight-manual.atom.io/using-atom/sections/atom-packages/

  • Search the Package Directory within Atom
  • Install packages like browser add-ons
  • Configure packages like browser add-ons

There is also an option to install packages with the command line apm install <package_name>

Write your own package http://flight-manual.atom.io/hacking-atom/sections/package-word-count/

Summary

Atom is open and for free. Atom has a popular look and feel. Atom is flexible and always up to date. Atom is written in technics a web developer should know.

Pro

TOC
  • flexible
    • simple setup and configuration
    • easy to write my own (color-)themes with less and CoffeeScript
  • hackable
    • easy to configure and customize
    • easy to write my own packages
  • usable
    • very good autocomplete
    • easy to find, update and install packages
    • lot of packages and themes from the community
    • well known Key Bindings
  • frontend desktop app
    • easy to understand for frontend developer
  • open source
    • free as in freedom
    • use and modify without restrictions

Contra

TOC
  • slow sometimes
    • because it is a web technology based desktop app it is not written in c++
    • sometimes you have to reload the editor
  • brand new
    • sometimes buggy
    • like: you need the keyboard-localization package for \ and @ alt-gr + (q|\) in the first versions

Compare

Atom versus Sublime

Userinface

TOC
Very similar user interface of Atom and Sublime with the same Key Bindings

Compare

TOC

Compare Atom 1.10 and Sublime 2

Sublime Atom
Platform OS X, Windows and Linux OS X, Windows and Linux
Architecture C++, Phyton Plugins Chromium, Node.js, HTML, CSS, JavaScript (CoffeeScript) Plugins
Package Manager 3rd part Packagecontrole core
Autocompletion Emmet Plugin core, Emmet is also available
Version Controle git, svn and mercurial plugins core git and svn, mercurial plugins
File combine sublimerge plugin core
Panes core colums core multiple
Configuration JSON UI + HTML, JavaScript (CoffeeScript) and CSS
Documentation minimal core documentation and larger 3rd part unoffical documentation full documentation
Licence License Key $70 per user (free unlimited trail with purchase message from time to time) MIT
Community forum, userecho and technical support open source, github, discuss and slack
Philosophy closed source open source
Releases slow weekly
UI traditional similar to Sublime, same Key Bindings as Sublime
Performance fast and stable sometimes slow, a lot of RAM

Keybindings

Atom Keyboard Shortcuts

General

TOC
shift + ⌘ + p
Toggle command palette
⌘ + /
Toggle line/selection comment
ctrl + space
Show available auto-completions

File Navigation

TOC
⌘ + p
Toggle file finder
ctrl + g
Goto line
⌘ + r
Goto symbol
shift + ⌘ + { / }
Previous/next file
⌘ + F2
Set bookmark
F2
Goto next bookmark

Window Manipulation

TOC
⌘ + \
Toggle tree-view sidebar
ctrl + ⌘ + f
Toggle fullscreen
⌘ + k, left/right/up/down
Split pane left/right/up/down
⌘ + k, ⌘ + left/right/up/down
Focus pane left/right/up/down

Find

TOC
⌘ + f
Find in file
⌘ + g
Find next
shift + ⌘ + f
Find in project
⌘ + e
Use selection for find

Folding

TOC
ctrl + ⌘ + [ / ]
Fold/unfold current code block
option + shift + ⌘ + [ / ]
Fold/unfold all code blocks
⌘ + 1-9
*Fold code blocks at depth 1-9 *

Word Manipulation

TOC
ctrl + t
Transpose characters either side of cursor
option + backspace
Delete text to beginning of word
option + delete or fn + option + backspace
Delete text to end of word

Line Manipulation

TOC
⌘ + ] / [
Indent/outdent current line
⌘ + enter
Insert new line after current line
⌘ + shift + enter
Insert new line before current line
ctrl + shift + k
Delete current line
ctrl + ⌘ + up/down
Move current line up/down
shift + ⌘ + d
Duplicate current line
⌘ + j
Join current and next lines

Selection

TOC
⌘ + d
Select current word/token
⌘ + l
Select current line
option + shift + left/right
Select to beginning/end of word
shift + ⌘ + left/right
Select to first/last character of line
shift + ⌘ + up/down
Select to top/bottom of document