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#16491 - Fix typo in protocol handler installer popup
- atom/atom#16484 - Add "Verification Process" section to pull request template
- atom/atom#16469 - Update license year
- atom/atom#16340 - Typos on #83 #84
- atom/atom#16492 - Allow you to tab through modal text box
- atom/atom#16495 - Decaffeinate some main process files
- atom/atom#16295 - Add event handler for window resizing.
- atom/atom#16500 - Decaffeinate ApplicationDelegate
- atom/atom#16497 - Allow existing windows to be used when running atom --wait
- atom/atom#16299 - Allow Tree-sitter parsers to be used for syntax highlighting and code folding
- atom/atom#16493 - Remove unused package-lock.json files before building
- atom/atom#16511 - Move highlights container within lines container for theme compatibility
- atom/atom#12783 - Adds feature: Restore column position after editor:delete-line
- atom/atom#16513 - Update protocol client installation
- atom/atom#16512 - Upgrade text-buffer to 13.11.0
- atom/atom#14931 - Make atom.commands.dispatch return a promise that resolves after listeners complete
- atom/atom#16515 - Render highlights behind lines
- atom/atom#16518 - Don't add fully-contained selections above/below
- atom/atom#16521 - If protocol handler set to never, unregister it on Windows
- atom/atom#16229 - Make atom.confirm async
- atom/atom#16245 - Make showSaveDialog async
- atom/atom#16524 - Fix two tree-sitter performance problems
- atom/atom#16530 - Fix race condition between opening new files and restoring window state
- atom/atom#15498 - Refactor install script for linux (install dev channel parallel, use icon themes)
- atom/atom#16533 - Teach AppVeyor to run installer task for master branch
- atom/atom#16542 - Preserve some TextEditor settings when language mode changes
- atom/atom#16548 - Link spec for finding icon dir in install script
- atom/atom#16546 - Programmatically detect when mouse approaches the edge of a dock
- atom/atom#16570 - Update all Repository to GitRepository
- atom/atom#16575 - Null guard auto-prefixing of . to scopes for backward compatibility
- atom/atom#16161 - Add .toString() method for Color objects
- atom/atom#16584 - [ci skip] must be in the title for Appveyor
- atom/atom#16585 - Fix filename backtick inconsistency and fix wording in README
- atom/atom#16588 - Fix incorrect fold when folding at the last line of an indented block
- atom/atom#16592 - Eliminate synchronous IO in main process
- atom/atom#16599 - Refactor main process launch
- atom/atom#16594 - Stop using Babel in Atom Core (benchmarks, exports, src)
- atom/atom#16595 - Don't break subpixel AA when cursor is at the end of longest line
- atom/atom#16525 - Use async dialog.showMessageBox
- atom/atom#16610 - Fix #14716: Error when deserializing TreeView for project
- atom/atom#16611 - Fix #16538: Middle-click pastes into read only editor on Linux
- atom/atom#16617 - ⬆️ email@example.com
- atom/atom#16616 - ⬆️ firstname.lastname@example.org
- atom/atom#16619 - Update marked to guard against regex DoS
- atom/atom#16593 - decaffeinate config.coffee and config-spec.coffee
- atom/atom#16620 - Decaffeinate menu-helpers.coffee
- atom/atom#16633 - Fix typo in TreeSitterLanguageMode.onDidChangeHighlighting
- atom/atom#16635 - Update language packages
- atom/atom#16628 - Perform all config file IO in the main process
- atom/atom#16627 - Revert change to move mouse cursor on right-click
- atom/atom#16544 - Fix includeNonWordCharacters regression in Cursor
- atom/atom#16658 - Register for core.titleBar changes after the initial load of config
- atom/atom#16685 - Update languages
To customize Atom you should check out the packages available here.
OSX 10.8 or later
Apps similar to Atom 4
Sublime Text is a sophisticated text editor for code, markup and prose. You'll love the slick user interface, extraordinary features and amazing performance.
Free source code editor which supports several programming languages running under the MS Windows environment.