Ace (editor)

Ace (from Ajax.org Cloud9 Editor) is a standalone code editor written in JavaScript. The goal is to create a web-based code editor that matches and extends the features, usability, and performance of existing native editors such as TextMate, Vim, or Eclipse. It can be easily embedded in any web page and JavaScript application. Ace is developed as the primary editor for Cloud9 IDE and as the successor of the Mozilla Skywriter project.

History
Known as Ace (Ajax.org Cloud9 Editor), it was previously known as Bespin then later Skywriter. Bespin and Ace started as two independent projects both aiming to build a no-compromise code editor component for the web. Bespin started as part of Mozilla Labs and was based on the  html tag, while Ace is the Editor component of the Cloud9 IDE and is using the DOM for rendering. After the release of Ace at JSConf.eu 2010, in Berlin, the Skywriter team decided to merge Ace with a simplified version of Skywriter's plugin system and some of Skywriter's extensibility points. All these changes were merged back to Ace, which supersedes Skywriter. Both Ajax.org and Mozilla are actively developing and maintaining Ace.

Features

 * Syntax highlighting
 * Auto indentation and outdent
 * An optional command line
 * Work with large documents (handles hundreds of thousands of lines without issue)
 * Fully customizable key bindings including vi and Emacs modes
 * Themes (TextMate themes can be imported)
 * Search and replace with regular expressions
 * Highlight matching parentheses
 * Toggle between soft tabs and real tabs
 * Displays hidden characters
 * Highlight selected word
 * Multiple cursor selection
 * Column select and edit mode

Notable projects using Ace

 * Caret
 * Cloud9 IDE
 * CMS Made Simple
 * Code Pad IDE
 * GitHub
 * Joplin
 * Jekyll Admin
 * KiwiIRC
 * LaTeX Base
 * Leanote
 * MediaWiki
 * OwnCloud
 * PythonAnywhere
 * RStudio
 * Tumblr (theme editor)
 * WaveMaker
 * Wikia (CSS editor)
 * Lines IDE