Vous êtes sur la page 1sur 8

Mon utilisation de Sublime Text 3

(http://www.sublimetext.com/3)
À-propos...
À-propos de cette page
Cette page est là pour décrire rapidement l'utilisation que je fais quotidiennement du génial Sublime Text 3, un éditeur
de texte multi-plateforme.

Note
Qu'est-ce qu'un éditeur de texte ?
« Un éditeur de texte est un logiciel destiné à la création et l'édition de fichiers textes. »
« Son usage est courant, voire incontournable pour certaines tâches informatiques de base comme
l'administration de système et le développement de logiciels. »
Inutile de dire donc que je m'en sers constamment, principalement sous Linux (Ubuntu 15.10), et aussi sur
Windows (7).
La page Wikipédia sur les éditeurs de textes contient une liste des plus populaires éditeurs de texte multi
plates-formes. Sublime Text est évidemment dans la liste, accompagné de gedit
(http://perso.crans.org/besson/publis/gedit/), des deux légendaires Emacs et Vim, et de Komodo Edit
notamment.

Cet article contient de rapides explications sur l'installation et l'utilisation de Sublime Text (2 ou 3), ainsi qu'une liste
des meilleurs plugins (aussi appelé greffon) que j'utilise avec ST3, des liens vers mes fichiers de configurations, et des
remarques générales.
(Et étrangement, cette page est la page la plus consultée sur mon site web (http://perso.crans.org/besson/). Si
besoin, contactez moi (http://perso.crans.org/besson/callme.fr.html) si vous avez des suggestions pour améliorer
cette page, ou juste dire merci si ça vous a été utile :) !)

Note
Licence ?
Cette page, et tous les fichiers liés, sont distribués librement, sous les termes de la licence GPLv3
(http://perso.crans.org/besson/LICENSE.html) ! (comme tout ce que je publie ou distribue sur ce site).

À-propos de Sublime Text 3


Le site officiel est www.SublimeText.com/3 (http://www.sublimetext.com/3). Mon article s'intéresse à la version 3 de
Sublime Text (actuellement v3.083, sortie le 26 mars 2015)

Warning
Vivre dangereusement :) ?
Vous pouvez aussi essayer la version 3dev (http://www.sublimetext.com/3dev), mise à jour plus souvent (mais
elle n'est disponible que pour les utilisateurs enregistrés, i.e. il vous faudra payer une licence -- ce n'est pas
mon cas).

Qu'est-ce que Sublime Text ?


Sublime Text est un éditeur de texte et de code source, disponible sur de multiples plates-formes. Il dispose d'une API
utilisant Python.
Sublime Text est un logiciel propriétaire, soumis à l'acceptation d'une licence, mais est entièrement gratuit. La licence
(gratuite) est à durée indéterminée, avec seulement des rappels occasionnels proposant d'acheter une inutile licence
commerciale (pour 20$).
Sublime Text intègre la plupart des fonctionnalités de base d'un éditeur de texte, dont la coloration syntaxique
personnalisable, l'auto-complétion, un système de plugins...
L'éditeur propose cependant des fonctions plus avancées, dont :

Minimap : prévisualisation de tout le fichier dans une barre latérale,



Sélection et édition dans plusieurs sections de code en parallèle (multi-curseur),

Marque-page au sein même des fichiers,

Sauvegarde automatique,

Recherche et remplacement par texte simple ou expressions régulières,

Support des macros et de greffons écrits en Python (http://perso.crans.org/besson/python.html),

Personnalisation des raccourcis clavier.

Comment l'installer ?
Le site officiel www.SublimeText.com/3 (http://www.sublimetext.com/3) permet de télécharger la dernière version de
ST3 (une version pour OS X, Windows et Ubuntu sont disponibles).
Cette page docs.sublimetext.info/en/sublime-text-3/getting_started/install.html
(http://docs.sublimetext.info/en/sublime-text-3/getting_started/install.html) explique en détails le processus d'installation
de ST3 sur différentes plates-formes.
C'est facile, gratuit et rapide :) !

Comment installer des greffons ?

Note
Greffon ?
Un greffon, ou plugin en anglais, est un composant supplémentaire qui complète un logiciel hôte pour lui
apporter de nouvelles fonctionnalités.

Sublime Text peut être équipé d'un gestionnaire de paquets qui permet à l'utilisateur de trouver, installer, mettre à jour
et supprimer des paquets additionnels, sans même avoir à redémarrer Sublime Text !
Ce projet s'appelle sobrement Sublime Text Package Manager, et est hébergé sur ce site packagecontrol.io. Cette
page packagecontrol.io/installation permet l'installation du gestionnaire de greffon, qui est la seule étape un peu sale
(mais ne vous inquiétez pas, aucun risque).
Ce greffon un peu magique a déjà plus de 3.01 millions de téléchargements à son historique !
Vous pouvez avoir un aperçu de la richesse de cette collection de greffon en allant voir ce classement
(packagecontrol.io/browse/popular) des greffons les plus téléchargés.

Plus de détails ailleurs !


Ce site (en anglais) est la documentation (non-officielle) de référence : docs.sublimetext.info
(http://docs.sublimetext.info/en/latest/). Bravo à eux, leur site est parfaitement bien conçu, il contient toutes les
informations nécessaires et bien plus encore !
Ce (vieux) wiki dédié à Sublime Text
(http://sublime-text-community-packages.googlecode.com/svn/pages/This-site.html) peut aussi aider.

Mon utilisation de Sublime Text 3


Ma configuration (http://perso.crans.org/besson/publis/ST3/)
Mes fichiers de configurations, snippets et scripts de constructions, pour Sublime Text 3
(http://www.sublimetext.com/3) sont tous dans le dossier publis/ST3 (http://perso.crans.org/besson/publis/ST3/).
Pour utiliser un de ces fichiers (.sublime-settings, .sublime-snippet ou .sublime-build), il suffit de le
copier dans votre dossier Packages/User
(http://docs.sublimetext.info/en/sublime-text-3/basic_concepts.html#the-packages-directory). Plus de détails pour les
fichiers .sublime-settings
(http://docs.sublimetext.info/en/sublime-text-3/customization/settings.html#where-to-store-user-settings-once-again),
ou les fichiers .sublime-build
(http://docs.sublimetext.info/en/sublime-text-3/file_processing/build_systems.html#where-to-store-build-systems).
État: Maintenu activement (février 2016).

Config

Plus d'informations sur la doc' ?


Cette page customization/settings.html
(http://docs.sublimetext.info/en/sublime-text-3/customization/settings.html) explique comment configurer en
profondeur chaque aspect de ST3.

Mes fichiers de configurations :

Preferences.sublime-settings (http://perso.crans.org/besson/publis/ST3/Preferences.sublime-settings) est le fichier


• de configuration principal.
Distraction Free.sublime-settings (http://perso.crans.org/besson/publis/ST3/Distraction%20Free.sublime-settings) est
• la configuration spécifique au mode "Sans distraction". Ce mode permet notamment de projeter du code lors d'un
exposé ou d'un cours que je donne en amphi, et de zoomer au maximum sur un élément important.
Package Control.sublime-settings (http://perso.crans.org/besson/publis/ST3/Package%20Control.sublime-settings)
• donne simplement la liste complète des paquets installés (aussi directement ici packages.list
(http://perso.crans.org/besson/publis/packages.list)).
Raccourcis clavier

Plus d'informations sur la doc' ?


Cette page customization/key_bindings
(http://docs.sublimetext.info/en/sublime-text-3/customization/key_bindings.html).

Comme (presque) tout dans Sublime Text, il est facile de modifier ou d'ajouter des raccourcis clavier. Cela peut être
fait globalement, ou projet par projet, ou langage par langage.

Default (Linux).sublime-keymap (http://perso.crans.org/besson/publis/ST3/Default%20(Linux).sublime-keymap) sont


• mes raccourcis clavier (ajoute notamment ctrl+e pour aller en fin de ligne ou ctrl+maj+e en début de ligne),
Python.sublime-keymap (http://perso.crans.org/besson/publis/ST3/Python.sublime-keymap) ajoute quelques
• raccourcis spécifiques à Python (avec Anaconda IDE (http://damnwidget.github.io/anaconda/IDE/)).

Snippets

Plus d'informations sur la doc' ?


Cette page extensibility/snippets.html
(http://docs.sublimetext.info/en/sublime-text-3/extensibility/snippets.html) décrit entièrement le
fonctionnement de ces snippets ("morceaux de codes").

Liste de mes snippets :

newpython.sublime-snippet (http://perso.crans.org/besson/publis/ST3/newpython.sublime-snippet) permet de


• facilement créer un nouveau script Python (http://perso.crans.org/besson/python.html),
newpython3.sublime-snippet (http://perso.crans.org/besson/publis/ST3/newpython3.sublime-snippet) permet de
• facilement créer un nouveau script Python 3 (http://perso.crans.org/besson/python.html),
newscript.sublime-snippet (http://perso.crans.org/besson/publis/ST3/newscript.sublime-snippet) fait la même chose
• pour un script GNU Bash (http://perso.crans.org/besson/bin/).
autotex.sublime-snippet (http://perso.crans.org/besson/publis/ST3/autotex.sublime-snippet) permet de créer un
• document \(\LaTeX{}\) vide utilisant autotex (http://perso.crans.org/besson/bin/autotex).
StrapDownJS.sublime-snippet (http://perso.crans.org/besson/publis/ST3/StrapDownJS.sublime-snippet) facilite la
• création d'un fichier HTML utilisant mon (super) projet StrapDownJS (http://lbesson.bitbucket.org/md/) !

Scripts de construction

Plus d'informations sur la doc' ?


Cette page file_processing/build_systems.html
(http://docs.sublimetext.info/en/sublime-text-3/file_processing/build_systems.html) décrit entièrement le
fonctionnement de ces scripts de construction.

Avec Sublime Text (comme avec d'autres bons éditeurs de texte), il est possible de construire, exécuter ou compiler
automatiquement et facilement vos fichiers. ST3 est livré avec des scripts de construction pour un douzaine de
langage, et il est facile d'en créer et d'en installer de nouveaux.
Liste de ces scripts de constructions :

Un script Bash peut être exécuté (sans arguments) facilement avec le script de construction bash.sublime-build
• (http://perso.crans.org/besson/publis/ST3/bash.sublime-build).
Un script Octave peut être exécuté (sans arguments) facilement avec le script de construction octave.sublime-build
• (http://perso.crans.org/besson/publis/ST3/octave.sublime-build).
Un document \(\LaTeX{}\) (basé sur autotex (http://perso.crans.org/besson/bin/autotex) pour ne pas avoir à écrire
• les en-têtes) peut se compiler facilement en PDF via le script de construction autotex.sublime-build
(http://perso.crans.org/besson/publis/ST3/autotex.sublime-build) (nécessite autotex
(http://perso.crans.org/besson/bin/autotex) et mon pdflatex (http://perso.crans.org/besson/bin/pdflatex)).
StrapDownJS.sublime-build (http://perso.crans.org/besson/publis/ST3/StrapDownJS.sublime-build) facilite la
• compilation d'un fichier HTML utilisant mon (super) projet StrapDownJS (http://lbesson.bitbucket.org/md/) en un
fichier PDF (via le script strapdown2pdf (http://lbesson.bitbucket.org/md/strapdown2pdf.html)) !

Les meilleurs greffons ?


Tous ces greffons sont gratuits, presque tous sont libres et open-sources, et ils sont tous installables depuis le
gestionnaire de paquet (Ctrl+Maj+P: "Package Control: Install Package").
Pour chaque paquet cité ci-dessous, un lien vers sa page d'information sur packagecontrol.io/packages/ est donné.
Petits greffons de personnalisation :

BracketHighlighter colore comme il faut les parenthèses et balises ouvrants et fermants ((, [, {, < etc).

Buffer■Scroll est intéressant car il permet de conserver en mémoire absolument toutes les informations
• positionnelles (curseurs, panneau, buffer etc pour chaque fichier, et chaque fenêtre).
Clickable URLs est tout simple mais utile : permet de souligner les adresses URLs (locales ou Internet), et de les
• ouvrir avec un raccourcis clavier.
Dictionaries pour une correction orthographique multi-lingue (anglais, français, ...).

GitGutter permet de visualiser l'état de chaque ligne de chaque fichier par rapport au dépôt git dans lequel il se
• trouve (visuellement génial pour voir les changements depuis le dernier commit).
Language - French - Français ajoute aussi différents dictionnaires pour le français.

Predawn est une amélioration de l'interface, très sombre pour protéger ses yeux
• (http://perso.crans.org/besson/bin/yeux.sh) !
Status Bar Weather ajoute une inutile météo dans la barre de statut en bas. Inutile mais marrant. Oui oui, votre
• éditeur de texte peut vous dire la météo !
Theme - Centurion est mon thème préféré, qui apporte une interface toute lisse, très épurée mais parfaitement
• adaptée à une productivité optimale et des yeux pas fatigués.
Le thème Seti UI est super aussi, il apporte de belles icônes pour la barre latérale notamment !

Greffons ajoutant de super fonctionnalités :

Calculate permet de facilement créer des listes ordonnées (en plus de plein d'autres choses) : on écrit i+1 à
• chaque ligne, puis un coup de Ctrl+Maj+c et paf, la multi-sélection est désormais en 1, 2, ..., n.
Dictionary■Auto■Complete permet à l'auto-complétion d'intégrer les mots du dictionnaires utilisé pour la correction
• orthographique. Assez gonflant, mais intéressant. Utile pour écrire de la prose et pas du code (rapport, poésie etc).
HighlightWords pour toujours colorer certains mots précis (par exemple TODO ou FIXME).

IncDecValue permet de facilement incrémenter ou décrémenter des nombres, des dates ou des couleurs.

InsertDate permet d'ajouter facilement la date d'aujourd'hui avec un raccourcis clavier, par exemple : mercredi 25
• novembre 2015, 22:20:44.
LineEndings pour surligner et facilement effacer les pénibles (et inutiles) espaces en fin de lignes.

MakeCommands permet de lancer depuis le panneau de contrôle n'importe quelle règle de construction venant d'un
• fichier Makefile. C'est tout simple, mais purement génial ! J'utilise beaucoup de Makefile pour mes différents projets.
Quel gain de temps en fait !
SideBarEnhancements rend la barre latérale bien plus utile.

SublimeGit (installable depuis packagecontrol.io/packages/SublimeGit). Permet un intégration complète de git via le
• panneau de contrôle. Il est gratuit, mais vous embêtera régulièrement afin de vous demander d'acheter une (inutile)
licence commercial (pour 10$)... Mais ce greffon est vraiment génial, donc vous supporterez son petit défaut !
GitSavvy semble être une bonne alternative gratuite et libre.
TableEditor permet d'éditer facilement des tableaux en texte brut (pour Markdown, reStructedText, pandoc etc). Très
• bien documenté, très complet.
Terminal permet d'ouvrir un terminal (ie. une console) déjà dans le bon dossier. Je ne m'en sers jamais, mais il
• marche bien. Plus de détails sur wbond.net/sublime_packages/terminal
(http://wbond.net/sublime_packages/terminal).
Wakatime pour utiliser Wakatime.com (lire cet autre article pour plus de détails
• (http://perso.crans.org/besson/wakatime.fr.html)).
WordCount ajoute un compteur de mots (et de pages, optionnel) dans la barre d'information. Tout simple et léger
• mais utile !
Un meilleur support pour certains langages :

AutoDocstring simplifie et améliore significativement l'écriture de docstrings Python (2 ou 3)


• (http://www.python.org/dev/peps/pep-0287/), et supporte les deux styles Google docstring et Numpy docstring.
ColorHighlighter surligne les mots et valeurs désignant des couleurs dans un fichier CSS, HTML ou LaTeX (ou
• n'importe quel fichier en fait). Par exemle red sera coloré en :red:`rouge`, et #00FFFF sera coloré en :cyan:`cyan`.
Simple mais pratique, surtout pour modifier des fichiers CSS, ou des fichiers LaTeX plein de couleurs.
ColorPicker permet de sélectionner une couleur, et de l'insérer telle quelle. Très pratique lors de la rédaction de CSS
• ou d'HTML.
Gnuplot permet un bon support de la programmation avec GNUPlot v4+ (http://www.gnuplot.info/).

JSONLint vérifie automatiquement les fichiers JSON lors de leur édition (les fichiers de conf de ST3 sont tous en
• JSON, notamment).
LaTeX-plus pourrait améliorer l'utilisation de LaTeX avec ST (voir la documentation).

Markdown Extended est sensé amélioré la coloration syntaxique du Markdown, langage léger à balises, conçu pour
• une rédaction facile de document. J'utilise Markdown notamment via mon projet StrapDownJS
(http://lbesson.bitbucket.org/md/) ! Voir un exemple (http://perso.crans.org/besson/bin/) ?
nginx améliore la coloration des fichiers de configuration du magnifique serveur web NGinx (http://nginx.org/).

OCaml améliore la coloration pour les langages caml-light et OCaml (http://perso.crans.org/besson/ocaml.html). À
• utiliser avec OCaml Autocompletion aussi.
GNU Octave Completions et Matlab Completions ajoutent à la complétion les fonctions et commandes de GNU
• Octave (http://www.gnu.org/software/octave/) ou MATLAB.
RestructuredText Improved améliore bien la coloration du reStructedText (http://perso.crans.org/besson/demo.html),
• le langage à balise utilisé par Sphinx (http://sphinx-doc.org/) et la documentation officielle de Python (et donc pour
cette page et mon site (http://perso.crans.org/besson/index.html)). À utiliser avec ces snippets pour rST.
TWiki pour son thème de couleur, génialement équilibré et bien coloré. J'utilise le thème TWiki "Monokai for Markup"
• pour n'importe quel langage en fait ! C'est vraiment mon thème de couleur préféré.
Greffons plus lourds, ou conçu pour un langage spécifique :

MagicPython améliore la coloration syntaxique pour Python (en prenant notamment en charge les changements des
• dernières versions 3.5 et 3.6).
MatlabFilenameAutoComplete ajoute les noms de fonctions Matlab/Octave (de fichiers file.m) à la complétion
• automatique. Ça compense le fait que chaque fonction en Matlab/Octave doit être écrite dans un fichier séparé...
Le génial SublimeLinter (http://sublimelinter.readthedocs.org/en/latest/installation.html) permet la vérification à la
• volée du code que vous rédigez (Spyder fait de même pour Python, par exemple). Assez extraordinaire ! Anaconda
IDE (http://damnwidget.github.io/anaconda/IDE/) propose beaucoup plus de fonctionnalités spécifique à Python. Il y
a plein de très bons linters : annotations, chktex, flake8, json, mdl, pylint, shellcheck.
LaTeXing (http://www.latexing.com/) (installable depuis packagecontrol.io/packages/LaTeXing), améliore le support
• de \(\LaTeX{}\).
SendText+ est pratique pour "envoyer" du code dans un terminal ouvert dans une autre fenêtre (terminal qui peut
• être lancé sur Python, Octave, R, bash ou n'importe quel toplevel).
SublimeCodeIntel est censé permettre un accès intelligent à un programme : en reconnaissant les définitions de
• variables, fonctions, classes etc, il devrait permettre de "sauter" directement à la définition de n'importe quel élément
du programme (je n'aime pas... mais il est populaire).
Emmet (http://emmet.io/) (installable depuis packagecontrol.io/packages/Emmet), améliore la rédaction de
• documents HTML, CSS et Javascript de façon assez magique. J'imagine que ça demande du temps pour maîtriser
ses fonctionnalités, mais ça doit valoir le coup !

Note
Purement objective
Cette liste reflète simplement mon utilisation quotidienne de ST3. Ces choix sont purement objectifs. Par
exemple, cet article (http://blog.generalassemb.ly/sublime-text-3-tips-tricks-shortcuts/) présente aussi une liste
de greffons utiles à avoir.

Configuration spécifique à certains greffons


Certains greffons peuvent être configurés spécifiquement. Voici leurs différents réglages :

Anaconda.sublime-settings (http://perso.crans.org/besson/publis/ST3/Anaconda.sublime-settings),

ColorHighlighter.sublime-settings (http://perso.crans.org/besson/publis/ST3/ColorHighlighter.sublime-settings),

HighlightWords.sublime-settings (http://perso.crans.org/besson/publis/ST3/HighlightWords.sublime-settings),

inc_dec_value.sublime-settings (http://perso.crans.org/besson/publis/ST3/inc_dec_value.sublime-settings),

LaTeXing.sublime-settings (http://perso.crans.org/besson/publis/ST3/LaTeXing.sublime-settings),

SendText%2B.sublime-settings (http://perso.crans.org/besson/publis/ST3/SendText%2B.sublime-settings),

Side Bar.sublime-settings (http://perso.crans.org/besson/publis/ST3/Side%20Bar.sublime-settings),

StatusBarWeather.sublime-settings (http://perso.crans.org/besson/publis/ST3/StatusBarWeather.sublime-settings),

SublimeGit.sublime-settings (http://perso.crans.org/besson/publis/ST3/SublimeGit.sublime-settings),

trailing_spaces.sublime-settings (http://perso.crans.org/besson/publis/ST3/trailing_spaces.sublime-settings),

WordCount.sublime-settings (http://perso.crans.org/besson/publis/ST3/WordCount.sublime-settings).

Configuration spécifique à certains langages


Il est possible de modifier les paramètres pour tel langage ou un autre (par exemple un police plus petite pour Python,
une marge plus grande pour Markdown etc). Pour certains langages, il peut être pratique de modifier légèrement les
réglages communs :
Markdown.sublime-settings (http://perso.crans.org/besson/publis/ST3/Markdown.sublime-settings),

Matlab.sublime-settings (http://perso.crans.org/besson/publis/ST3/Matlab.sublime-settings),

Objective-C.sublime-settings (http://perso.crans.org/besson/publis/ST3/Objective-C.sublime-settings) (mon
• changement permet de reconnaître un fichier file.m comme un programme Matlab/Octave et non Objective-C),
Python.sublime-settings (http://perso.crans.org/besson/publis/ST3/Python.sublime-settings).

Un dernier conseil ?
Comme pour tout logiciel aussi puissant et technique, Sublime Text 3 (http://www.sublimetext.com/3) demande un
certain temps d'adaptation. Soyez persévérant, ça en vaut la peine.

Crédit additionnel
Merci à Jill-Jênn Vie (http://jill-jenn.net/) de m'avoir conseillé Sublime Text 3 (http://www.sublimetext.com/3) (en
octobre 2013).

Vous aimerez peut-être aussi