Sublime Text

Sublime Text is a shareware text and source code editor available for Windows, macOS, and Linux. It natively supports many programming languages and markup languages. Users can customize it with themes and expand its functionality with plugins, typically community-built and maintained under free-software licenses. To facilitate plugins, Sublime Text features a Python API. The editor utilizes minimal interface and contains features for programmers including configurable syntax highlighting, code folding, search-and-replace supporting regular-expressions, terminal output window, and more. It is proprietary software, but a free evaluation version is available.

Features
The following is a list of features of Sublime Text:
 * "Goto Anything", quick navigation to project files, symbols, or lines
 * "Command palette" uses adaptive matching for quick keyboard invocation of arbitrary commands
 * Simultaneous editing: simultaneously make the same interactive changes to multiple selected areas
 * Python-based plugin API
 * Project-specific preferences
 * Extensive customizability via JSON settings files, including project-specific and platform-specific settings
 * Cross-platform (Windows, macOS, and Linux) and Supportive Plugins for cross-platform
 * Compatible with many language grammars from TextMate

Version 1
Sublime Text 1.0 was released on 18 January 2008 as an application for the Windows operating system. It supports tabs and side-by-side view of files.

Version 2
Sublime Text 2.0 was released on 26 June 2013. It is the first release to support Linux and OS X. Other changes from the first version of the software, as promoted on the official Sublime blog, include Retina display support and "Quick Skip Next" functionality.

Themes

 * Sublime Text contains 23 visual themes, with the option to download and configure additional themes via third-party plugins.
 * The minimap feature shows a reduced overview of the entire file in the top-right corner of the screen. The portion of the file visible in the main editor pane is highlighted and clicking or dragging in this view scrolls the editor through the file.

Panels, groups and screen modes

 * Screen modes include: showing up to four files at once in panels, a full-screen and distraction-free mode to show one file without interface menus around it.

Column selection and multi-select editing
With this feature a user can select entire text columns at once or place more than one cursor in the text. This allows simultaneous editing. The cursors behave as if each of them was the only one in the text, moving independently in the same manner. Including to move by one character, by line, by words, and by subwords (CamelCase, hyphen or underscore delimited), and move to beginning/end of line. This allows editing complex repetitive structures without the use of macros or regular expressions.

Auto-completion
Sublime Text suggests completing entries as the user is typing, informed by the programing language of the current file. It also auto-completes variable names assigned to within the same code base.

Syntax highlight and high-contrast display
The dark background on Sublime Text is intended to reduce eyestrain and improve readability of text by increasing the amount of contrast with the text.

In-editor code building
Users can run code for certain languages from within the editor, reducing the need to switch to a command-line prompt. This function can also be set to build the code automatically every time the file is saved.

Snippets
This feature allows users to save blocks of frequently used code and assign keywords to them. The user can then type the keyword and press to paste the block of code whenever they require it.

Other features
Sublime Text has a number of features in addition to these, including:
 * Auto-save, which attempts to prevent users from losing their work
 * Customizable key assignments, a navigational tool which allows users to assign hotkeys to their choice of options in both the menus and the toolbar
 * Find as you type, begins to look for the text being entered as the user types without requiring a separate dialog box
 * Spell-check function corrects as you type
 * Macros
 * Repeat the last action
 * A wide selection of editing commands, including indenting and unindenting, paragraph reformatting and line joining

Version 3


Version 3 entered beta on 29 January 2013. At first available only for registered users who had purchased Sublime Text 2, on 28 June 2013 it became available to the general public. However, the very latest development builds still required a registration code. Sublime Text 3 was officially released on 13 September 2017. In May 2018 it was followed by version 3.1 and by version 3.2 in March 2019.

Two of the main features that Sublime Text 3 adds include symbol indexing and pane management. Symbol Indexing allows Sublime Text to scan files and build an index to facilitate the features Goto Definition and Goto Symbol in Project. Pane Management allows users to move between panes via hotkeys.

Version 4
Version 4 was released on 20 May 2021. Major new features included a project-wide context-sensitive auto completion, tab multi-select and support for darkmode. The new version introduced hardware accelerated rendering using OpenGL for large display resolutions and native Apple M1 and ARM64 support. It also shipped internal performance optimizations and updates such as a new Python 3.8 plugin host and extended APIs for extended plugin development.

Package manager
Package Control is an open source third-party package manager for Sublime Text which allows the user to find, install, upgrade and remove plug-ins, usually without restarting Sublime Text. The package manager keeps installed packages up-to-date with an auto-upgrade feature and downloads packages from GitHub, BitBucket and a custom JSON-encoded channel/repository system. It also handles updating packages cloned from GitHub and BitBucket via Git and Hg, as well as providing commands for enabling and disabling packages. The package manager also includes a command to bundle any package directory into a .sublime-package file.

Notable third-party packages include:


 * LSP - Support for the Language Server Protocol
 * Bracket Highlighter – Enhances the basic highlights Sublime Text provides for bracket pairs
 * SublimeLinter – Code linting (validation) for JavaScript, Perl, PHP, Python, Ruby, and others
 * Sidebar Enhancements – Enhancements to the Sublime Text sidebar with new options for deleting, opening, moving, creating, editing, and finding files

Sublime Merge
In 2018, Sublime HQ released Sublime Merge, a Git GUI and merging tool. When installed along with Sublime Text it uses its syntax highlighting packages and they have integrations to interact with each other. Technically Sublime Merge and Text share large parts of the codebase and UI concepts.