How I use Sublime Text 3

About...

About this page

This page is there to quickly describe how I use on a daily basis the awesome Sublime Text 3, a multi-platform text editor.

Note

What is a text editor?

« A text editor is a software for creating and editing text files. »

« Its use is common, even essential for some basic computing tasks such as system administration and software development.. »

Needless to say that I use it constantly, mostly on Linux (Ubuntu 15.10), and on Windows (7).

The Wikipedia page on text editors contains a list of the most popular publishers multi-platform text. Sublime Text is obviously on the list, along with gedit, the two legendary Emacs and Vim, and for example Komodo Edit.

This article contains quick explanation of the installation and use of Sublime Text (2 or 3), and also a list of the best plugins that I use with ST3, links to my configuration files and general remarks.

(And weirdly, this page is one of the more popular of my website. Please contact me if you have any suggestion to improve it, or to say thanks if this page has been useful to you :) !)

Note

Licence?

This page, and all related files are freely distributed under the terms of the licence GPLv3 ! (Like anything else published or distributed on this website).


About Sublime Text 3

The official website is www.SublimeText.com/3. My article focuses on version 3 of Sublime Text (currently, version 3.083, released the 26th of March 2015).

Avis

Live dangerously :) ?

You can also try the version 3dev, it is updated more frequently (but you will need to be registered ie have a non-free license -- I didn't).

What is Sublime Text?

Sublime Text is a text editor and source code available on multiple platforms. It has an API using Python.

Sublime Text is a proprietary software, subject to the acceptance of a license, but is completely free. The (free) license is for an indefinite period, with only occasional reminders proposing to buy a non-mandatory commercial license (for $ 20).

Sublime Text incorporates most of the basic features of a text editor, including customizable syntax highlighting, auto-completion, a plugin system ...

But that awesome text editor offers more advanced features, including:

  • Minimap: previewing entire file in a sidebar,
  • Selecting and editing in several sections of code in parallel (multi-cursor)
  • Bookmark even within files
  • Automatic backup,
  • Search and replace with plain text or regular expressions,
  • Support for macros and plug-ins written in Python ,
  • Customizing keyboard shortcuts.

How to install ST3?

The official website www.SublimeText.com/3 gives links to the last version of ST3 on every supported platforms.

This page docs.sublimetext.info/en/sublime-text-3/getting_started/install.html explains in details how to install ST3 on different platforms process.

It's easy, free and fast :) !

How to install plugins?

Note

Plugin ?

For computer softwares, plugins are additionals component that completes a software host to provide it with new features.

Sublime Text can be equipped with a package manager that allows users to find, install, update and remove additional packages without even having to restart Sublime Text!

This project is simply called Sublime Text Package Manager, and is hosted on this site packagecontrol.io. This page packagecontrol.io/installation will tell you how to install the package manager, which is the only step a little dirty (but do not worry, no risk).

This magical plugin has already been downloaded more than 3.01 million times from the beginning of the project!

You can get a glimpse of the richness of this collection of plugin by going to this list (packagecontrol.io/browse/popular) of the most downloaded plugins.

A lot more details elsewhere!

This site is the unofficial documentation, but it is the main reference: docs.sublimetext.info. Congratulations to them, their website is very well designed and contains all the necessary information and much more!

This (old) wiki dedicated to Sublime Text can also help.


How I use Sublime Text 3

My configuration

My configuration files, scripts and snippets of buildings for Sublime Text 3 are all in the folder publis/ST3.

To use one of these files (.sublime-settings, .sublime-snippet, .sublime-macro or .sublime-build), just copy it into your Packages/User folder. More details for the .sublime-settings files, or the .sublime-build files.

State:Actively maintained (May 2016).

Config

My configuration files:

Key shortcuts

Like (almost) everything else in Sublime Text, it's easy to modify or add key shortcut for anything. It can be done globaly, or project wise or language wise.

Snippets

List of my snippets:

Build systems

Sublime Text (as with other good text editors), it is possible to build, run or compile your files automatically and easily. ST3 comes with build scripts for a dozen language, and it is easy to create and install new ones.

List of my build systems:

Macro

With Sublime Text (as with other good text editors), it is possible to record a macro, a small sequence of actions, commands, shortcuts or clicks, and associate it a keyboard shortcut for instance.

List of my macros (just two right now):

  • copy-to-the-end-of-the-line.sublime-macro to select and copy the text of the current line, from the current cursor to the end of the line. I associated it the Ctrl+Alt+e keyboard shortcut.
  • and copy-to-the-beginning-of-the-line.sublime-macro does the same thing, but select and copy the text from the current cursor to the beginning of the line. I associated it the Ctrl+Alt+Maj+e keyboard shortcut (as the modifier Maj is already used for Ctrl+e "go to end of the line" and Ctrl+Maj+e "go to the beginning of the line").

The best plugins?

All of these plugins are free, almost all are free and open-source, and they are all installable from the package manager (Ctrl+Shift+P: "Package Control: Install Package")

For each packet quoted below, a link to the information page on packagecontrol.io/packages/ is given.

Small customization plugins:

  • BracketHighlighter improves how opening and closing parentheses, and opening and closing tags are colored ((, [, {, < etc).
  • BufferScroll is interesting because it allows to keep in mind absolutely all positional information (sliders panel, buffer etc. for each file and each window).
  • Clickable URLs is simple but great: to highlight the URLs (local or Internet) addresses, and open them with a keyboard shortcut.
  • Dictionaries a for multi-lingual spell-check (English, French, ...).
  • The small GitGutter will help to visualize the difference of each line of each file regarding the last committed version for the git repository in which it is located (visually great to see the changes since the last commit).
  • Gremlins help to visualize dangerous non-visible UTF-8 caracters, like odd and invisible whitespace characters.
  • Language - French - Français also adds various dictionaries for French.
  • Status Bar Weather adds unnecessary weather in the status bar at the bottom. Useless but fun. Yeah, your text editor can tell you the weather!
  • Boxy Theme (with "Boxy Tomorrow") is my favorite theme, it brings a very refined but perfectly all smooth interface, suitable for optimum productivity and is cool with your eyes. It also have awesome icons for your side-bar!

Plugins that add great features:

  • Calculate to easily create ordered lists (among many other things): write i+1 on each line, then one hit of Ctrl+Maj+c and pouf, the multi-selection is now 1, 2, ..., n.
  • DictionaryAutoComplete enables auto-completion to integrate the words of dictionaries used for spell checking. Quite cool but can quickly be boring. Can be useful if you write prose and not code (project report, poetry etc).
  • HighlightWords to always highlight some specific words (for instance, TODO or FIXME).
  • IncDecValue allows to easily increment or decrement numbers, dates or colors.
  • InsertDate allows to easily add today's date with a key shortcut (F5 by default), like this: Wednesday 25 November 2015, 22:21:57.
  • LineEndings to highlight and easily erase the painful (and unnecessary) spaces at the end of lines.
  • MakeCommands will launch from the control panel of any rule of construction from a Makefile. It's simple, but purely awesome! I use a lot of Makefile for my various projects. Such an efficient idea in fact!
  • SideBarEnhancements makes the sidebar much more useful.
  • The wonderful SublimeGit (installable from packagecontrol.io/packages/SublimeGit). Allows a full integration of git via the control panel. Free but annoys you regularly to ask you buy a (useless) 10$ commercial license... But it is really awesome, so you will support this. GitSavvy seems to be a good free and open-source alternative.
  • TableEditor is great to easily edit tables in plain text documents (for Markdown, reStructedText, pandoc etc). Very well documented and quite complete.
  • Terminal to open a terminal (ie. a console) already in the correct folder. I never use it, but it works well. More details on wbond.net/sublime_packages/terminal.
  • Wakatime to use Wakatime.com (read this other article for more explanations).
  • WordCount adds a counter for words (and pages optionnally) in the information bar. Small and simple but useful!

A better support for some languages:

Heavier plugins, or plugins designed for a specific language:

  • MagicPython improves the syntax coloring for Python (it recognizes the new syntax features that came in the last versions 3.5 and 3.6).
  • MatlabFilenameAutoComplete adds the filename of the Matlab/Octave functions (ie the local files file.m) to the automatic tab completion. It is a way to compensate with the borring fact that Matlab/Octave asks to write any function as a seperate file...
  • The brilliant SublimeLinter checks the code you write for syntax error as you write it (Spyder does the same for Python, for example). Quite extraordinary! Anaconda IDE is far more powerful but specific to Python. There is plenty of awesome linters: annotations, chktex, flake8, json, mdl, pylint, shellcheck.
  • LaTeXing (installable from packagecontrol.io/packages/LaTeXing), improve support for \(\LaTeX{}\).
  • SendText+ is convenient to quickly "send" some code to an open terminal in another window (to work with Python, Octave, R, bash or anyother toplevel).
  • SublimeCodeIntel is supposed to enable intelligent access to a program recognizing the definitions of variables, functions, classes, etc., it is expected to "jump" directly to the definition of any element of the program (I do not like it).
  • Emmet (installable from packagecontrol.io/packages/Emmet), improves writing HTML, CSS and Javascript documents quite magically. It surely takes time to master its features, but I guess it's worth it!

Note

Purely objective

This list simply reflects my daily use of ST3. These choices are purely objective. For instance, this article also presents a list of good plugins to use.

Some language-specific configuration files

In ST3, you can modify any single parameter for a specific language (for instance, a smaller font for Python files, a bigger margin for Markdown files etc). For a few languages, I find these changes quite convenient:


Additional advice

As for every powerful and awesome software, Sublime Text 3 will require a certain training time.

Additional credit

Thanks to Jill-Jênn Vie for advising me to use Sublime Text 3 (in Octobre 2013).