At GitHub, we're building the text editor we've always wanted. A tool you can customize to do anything, but also use productively on the first day without ever touching a config file. Atom is modern, approachable, and hackable to the core. We can't wait to see what you build with it.
Taking the web native
Atom is a desktop application based on web technologies. Like other desktop apps, it has its own icon in the dock, native menus and dialogs, and full access to the file system.
Node.js support makes it trivial to access the file system, spawn subprocesses, and even start servers directly from within your editor. Need a library? Choose from over 50 thousand in Node's package repository. Need to call into C or C++? That's possible, too.
Atom is composed of over 50 open-source packages that integrate around a minimal core. Our goal is a deeply extensible system that blurs the distinction between "user" and "developer".
Don't like some part of Atom? Replace it with your own package, then upload it to the central repository on atom.io so everyone else can use it too.
Full-featured, right out of the box
No one wants to waste time configuring their editor before they can start using it. Atom comes loaded with the features you've come to expect from a modern text editor. Here are a few of them:
- File system browser
- Fuzzy finder for quickly opening files
- Fast project-wide search and replace
- Multiple cursors and selections
- Multiple panes
- Code folding
- A clean preferences UI
- Import TextMate grammars and themes
- atom/atom#15310 - Honor editor's scrollSensitivity parameter
- atom/atom#15313 - Ensure extra document updates are not scheduled during updateSync
- atom/atom#15314 - Suppress text input for default-prevented keydown events
- atom/atom#15317 - Move cursors container inside lines container
- atom/atom#15322 - Move placeholder text inside lines div
- atom/atom#15324 - Only scroll one axis at a time, whichever has the greater delta
- atom/atom#15338 - Hide off-screen lines when we render them for measurement
- atom/atom#15339 - Only clear linesToMeasure when we have actually measured
To customize Atom you should check out the packages available here.
OSX 10.8 or later