Sublime Text is a sophisticated text editor for code, markup, and prose. You’ll love the slick user interface, extraordinary features, and amazing performance.
- Goto Anything. Use Goto Anything to open files with only a few keystrokes, and instantly jump to symbols, lines, or words. Triggered with ⌘P, it is possible to:
- Type part of a file name to open it
- Type @ to jump to symbols, # to search within the file, and : to go to a line number
These shortcuts can be combined, so [email protected] may take you to a function read_file within a file text_parser.py. Similarly, tp:100 would take you to line 100 of the same file.
- Multiple Selections. Make ten changes at the same time, not one change ten times. Multiple selections allow you to interactively change many lines at once, rename variables with ease, and manipulate files faster than ever. Try pressing ⇧⌘L to split the selection into lines and ⌘D to select the next occurrence of the selected word. To make multiple selections with the mouse, take a look at the Column Selection documentation.
- Command Palette. The Command Palette holds infrequently used functionality, like sorting, changing the syntax, and changing the indentation settings. With just a few keystrokes, you can search for what you want, without ever having to navigate through the menus or remember obscure key bindings. Show the Command Palette with ⌘⇧P.
- Distraction-Free Mode. When you need to focus, Distraction-Free Mode is there to help you out. Distraction-Free Mode is full-screen, chrome-free editing, with nothing but your text in the center of the screen. You can incrementally show elements of the UI, such as tabs and the find panel, as you need them. You can enter Distraction Free Mode using the View/Enter Distraction Free Mode menu.
- Split Editing. Get the most out of your wide-screen monitor with split-editing support. Edit files side-by-side, or edit two locations in the one file. You can edit with as many rows and columns as you wish. Take advantage of multiple monitors by editing with multiple windows, and using multiple splits in each window. Take a look at the View/Layout menu for split-editing options. To open multiple views into the one file, use the File/New View into File menu item.
- Instant Project Switch. Projects in Sublime Text capture the full contents of the workspace, including modified and unsaved files. You can switch between projects in a manner similar to Goto Anything, and the switch is instant, with no save prompts. All your modifications will be restored next time the project is opened.
- Plugin API. Sublime Text has a powerful, Python-based plugin API. Along with the API, it comes with a built-in Python console to interactively experiment in real time.
- Customize Anything. Key bindings, menus, snippets, macros, completions and more – just about everything in Sublime Text is customizable with simple JSON files. This system gives you flexibility as settings can be specified on a per-file type and per-project basis.
- Cross-Platform. Sublime Text is available for OS X, Windows and Linux. One license is all you need to use Sublime Text on every computer you own, no matter what operating system it uses. Sublime Text uses a custom UI toolkit, optimized for speed and beauty, while taking advantage of native functionality on each platform.
NEW: GIT INTEGRATION
- Files and folders in the sidebar will now display badges to indicate Git status
- Ignored files and folders are visually de-emphasized
- The current Git branch and number of modifications is displayed in the status bar
- Commands have been added to open a repository, see file or folder history, or blame a file in Sublime Merge
- Themes may customize the display of sidebar badges and status bar information
- The setting show_git_status allows disabling Git integration
- All file reads are done through a custom, high-performance Git library written for Sublime Merge
NEW: INCREMENTAL DIFF
- All changes to a document are now represented by dedicated markers in the gutter
- Diff markers show added, modified and deleted lines
- The setting mini_diff controls incremental diff behavior
- In coordination with the new Git functionality, diffs can be calculated against HEAD or the index
- The git_diff_target setting controls base document source
- API methods View.set_reference_document() and View.reset_reference_document() allow controlling the diff
- The following diff-related commands were added:
- Next Modification
- Previous Modification
- Revert Modification
- Full inline diffs of each change can be displayed via the right-click context menu, or keyboard shortcuts
- Inline diff presentation can be changed by customizing a color scheme
- Added block_caret setting
- Improve positioning and sizing of gutter icons in some situations
- Fixed draw_minimap_border setting not working
- Linux: Improved input method (IM) support – fcitx, ibus, etc
- Linux: Fixed a crash when using GTK_IM_MODULE=xim
- Linux: Tweaked behavior of up/down when on the first and last lines of a file to better match platform conventions
- Windows: Improved IME support
- Enhanced the .sublime-theme format:
- Added variables support and associated revised JSON format with variables key
- Added extends keyword to have one theme derive from another
- Colors may be specified via CSS syntax
- Improved performance with large numbers of rules in a .sublime-theme
- Linux: Moved to GTK3
- Linux: Various high DPI fixes
- Mac: Added Mojave support
- Mac: Add full support for macOS native tabs
- Mac: Ensure context menus are shown without scrolling
- Mac: Error message dialogs can now be closed with the escape key
- Mac: Improved window placement
- Mac: Improved resize performance
- Windows: Fixed minimized and maximized state not restoring
- Windows: Fixed a bug where auto complete entries would contain an ellipsis when not required
- Support for Unicode 11.0
- Improved rendering of combining characters
- Fixed a caret positioning bug when non-trivial graphemes are present
- Fixed some cases of incorrect glyph positions on Windows and Mac
- Linux: Color glyphs are now drawn properly on light backgrounds
- Windows: Fixed a rendering issue with certain combining characters
- Windows: Fixed some fonts having an incorrect baseline
- Added block_caret key to use in conjunction with block carets
- caret values now respect alpha as expected, rather than pre-blending against the background color
- Added the foreground_adjust property to rules with a background. Accepts CSS color mod adjusters to manipulate the saturation, lightness or opacity of the foreground color.
- Many syntax highlighting improvements, including significant improvements to:
- Clojure, with thanks to Nelo Mitranim
- Go, with thanks to Nelo Mitranim
- Lua, with thanks to Thomas Smith
- Fixed a crash that could occur when nesting embed patterns in .sublime-syntax files
- Syntax Tests: Allow syntax test files to have a UTF-8 BOM
FILES AND FOLDERS
- Improve performance of file watching for ignored paths on Windows and Mac
- Windows: Fixed Open File treating paths as case-sensitive
- Windows: Properly unlock directories after contained files are closed
- Added View.set_reference_document() and View.reset_reference_document() to control diff generation
- Phantoms are now drawn correctly in conjunction with draw_centered
- Various minor improvements related to plugin module loading and unloading
- Added support for hwb() colors to minihtml
- Added a custom min-contrast() adjuster for the CSS color mod function in minihtml
- Mac: Fixed a plugin_host crash when running a process that itself crashes
- Fixed a Goto Symbol in Project performance regression
- F21..F24 keys can now be bound
- Assorted minor fixes and stability improvements
- Linux: Improved behavior of --wait command line argument when Sublime Text isn’t currently running
OS X 10.7 or later, 64-bit processor