Mon ancienne utilisation de Sublime Text 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 me sers constamment d’un éditeur de texte, principalement sous Linux (Ubuntu 17.10), et aussi sur Windows (7/8/10).
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, 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. Si besoin, contactez moi 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 ! (comme tout ce que je publie ou distribue sur ce site).
À-propos de Sublime Text 3¶
Le site officiel est www.SublimeText.com/3. Mon article s’intéresse à la version 3 de Sublime Text (actuellement v3.083, sortie le 26 mars 2015)
Avertissement
Vivre dangereusement :) ?
Vous pouvez aussi essayer la version 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).
Voir aussi
- Visual Studio Code
est un superbe éditeur aussi ! Développé par Microsoft, il a l’avantage d’être complètement libre et gratuit. Après 4 ans d’utilisation intensive de Sublime Text, je l’ai abandonné pour passer entièrement à Visual Studio Code, et tel Edith Piaf, « non, je ne regrette rien »…
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,
Personnalisation des raccourcis clavier.
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. 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 peut aussi aider.
Voir aussi
Ces listes (en anglais) donnent aussi de très bons conseils, voir djyde/awesome-sublime-packages, JaredCubilla/sublime, dreikanter/sublime-bookmarks.
Mon utilisation de Sublime Text 3¶
Ma configuration¶
Mes fichiers de configurations, snippets et scripts de constructions, pour Sublime Text 3 sont tous dans le dossier 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.
Plus de détails pour les fichiers .sublime-settings, ou les fichiers .sublime-build.
- État
Maintenu activement (mai 2016).
Config¶
Mes fichiers de configurations :
Preferences.sublime-settings est le fichier de configuration principal.
Distraction Free.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 donne simplement la liste complète des paquets installés (aussi directement ici packages.list).
Raccourcis clavier¶
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 sont mes raccourcis clavier (ajoute notamment
ctrl+e
pour aller en fin de ligne ouctrl+maj+e
en début de ligne),Python.sublime-keymap ajoute quelques raccourcis spécifiques à Python (avec Anaconda IDE).
Snippets¶
Liste de mes snippets :
newpython.sublime-snippet permet de facilement créer un nouveau script Python,
newpython3.sublime-snippet permet de facilement créer un nouveau script Python 3,
newscript.sublime-snippet fait la même chose pour un script GNU Bash.
autotex.sublime-snippet permet de créer un document \(\LaTeX{}\) vide utilisant autotex.
StrapDownJS.sublime-snippet facilite la création d’un fichier HTML utilisant mon (super) projet StrapDownJS !
Snippets pour LaTeX, permettant de créer un nouvel environnement vide (
\begin{truc}…\env{truc}
) de maths, plus rapidement, pour les environnement suivants : defn, example, examples, proof, remark, remarks, theorem (certains sont non standards).
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.
Un script Octave peut être exécuté (sans arguments) facilement avec le script de construction octave.sublime-build.
Un document \(\LaTeX{}\) (basé sur autotex pour ne pas avoir à écrire les en-têtes) peut se compiler facilement en PDF via le script de construction autotex.sublime-build (nécessite autotex et mon pdflatex).
StrapDownJS.sublime-build facilite la compilation d’un fichier HTML utilisant mon (super) projet StrapDownJS en un fichier PDF (via le script strapdown2pdf) !
Macro¶
Avec Sublime Text (comme avec n’importe quel bon éditeur de texte), il est facile d’enregistrer une macro, une petite séquence d’actions, de commandes, de raccourcis clavier ou de clics, et de lui associer un raccourcis clavier par exemple.
Liste de mes macros (juste 2 pour l’instant) :
copy-to-the-end-of-the-line.sublime-macro pour sélectionner et copier le texte de la ligne actuelle, depuis la position du curseur jusqu’à la fin de la ligne. Je lui ai associé le raccourcis clavier
Ctrl+Alt+e
.et copy-to-the-beginning-of-the-line.sublime-macro fait pareil, mais sélectionne jusqu’au début de la ligne. Je lui ai associé le raccourcis
Ctrl+Alt+Maj+e
(comme le modificateurMaj
est déjà utilisé pourCtrl+e
« aller à la fin de la ligne » etCtrl+Maj+e
« aller au début de la ligne »).
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é.
Note
Mon propre greffon ?
En septembre 2016, j’ai décidé d’écrire un petit greffon, juste parce que j’en avais marre d’utiliser deux raccourcis clavier pour passer de français à anglais pour la correction orthographique. Le but était de pouvoir passer d’une langue à l’autre avec un seul raccourcis clavier…
Ça a donné ce greffon, SwitchDictionary (pour ST3 uniquement), qui marche juste pour le français et l’anglais, mais fait son boulot parfaitement (ctrl+shift+s
pour passer entre français, anglais et pas de correction orthographique, et ctrl+shift+a
détecte automatiquement la langue et bascule en français ou en anglais selon le contenu du fichier).
Mon greffon est désormais disponible via PackageControl, cf. SwitchDictionary.
Petits greffons de personnalisation :
Better Build System améliore le système de « build » sur quelques points précis (précis mais utiles !).
BracketHighlighter colore comme il faut les parenthèses et balises ouvrants et fermants (
(
,[
,{
,<
etc).BufferScroll 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).
Gremlins permet de facilement voir et corriger les caractères UTF-8 invisibles, qui peuvent être dangereux, comme les espaces invisibles ou insécables.
Language - French - Français ajoute aussi différents dictionnaires pour le français.
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 !
Boxy Theme (avec « Boxy Tomorrow ») 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. Il apporte aussi de belles icônes pour la barre latérale !
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 deCtrl+Maj+c
et paf, la multi-sélection est désormais en1
,2
, …,n
.DictionaryAutoComplete 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
ouFIXME
).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.
Wakatime pour utiliser Wakatime.com (lire cet autre article pour plus de détails).
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), 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 exemple
red
sera coloré en rouge, et#00FFFF
sera coloré en 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.
Dotfiles Syntax Highlighting permet de colorer intelligemment une centaine de format de fichiers de configuration Linux/Unix, les fameux « dotfiles ».
Gnuplot permet un bon support de la programmation avec GNUPlot v4+.
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 ! Voir un exemple ?
nginx améliore la coloration des fichiers de configuration du magnifique serveur web NGinx.
OCaml améliore la coloration pour les langages caml-light et OCaml. À utiliser avec OCaml Autocompletion aussi.
GNU Octave Completions et Matlab Completions ajoutent à la complétion les fonctions et commandes de GNU Octave ou MATLAB.
RestructuredText Improved améliore bien la coloration du reStructedText, le langage à balise utilisé par Sphinx et la documentation officielle de Python (et donc pour cette page et mon site). À utiliser avec ces snippets pour rST.
SublimeRegexExplainTip permet de mieux comprendre le fonctionnement d’une expression régulière (« regexp »), un peu comme le site regex101.com.
requirements.txt simplifie la création et les modifications des fichiers requirements.txt pour les projets Python.
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 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 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 (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 (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 subjective
Cette liste reflète simplement mon utilisation quotidienne de ST3. Ces choix sont purement subjectifs. Par exemple, cet article 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 :
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 :
Objective-C.sublime-settings (mon changement permet de reconnaître un fichier file.m comme un programme Matlab/Octave et non Objective-C),
Un dernier conseil ?¶
Comme pour tout logiciel aussi puissant et technique, Sublime Text 3 demande un certain temps d’adaptation. Soyez persévérant, ça en vaut la peine.
Voir aussi
- Visual Studio Code
est un superbe éditeur aussi ! Développé par Microsoft, il a l’avantage d’être complètement libre et gratuit. Après 4 ans d’utilisation intensive de Sublime Text, je suis en train de l’abandonner pour passer à Visual Studio Code, et tel Edith Piaf, « non, je ne regrette rien »…
Voir aussi
- Atom.io
A l’air prometteur !
Crédit additionnel¶
Merci à Jill-Jênn Vie de m’avoir conseillé Sublime Text 3 (en octobre 2013).
Comment l’installer ?¶
Le site officiel 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 explique en détails le processus d’installation de ST3 sur différentes plates-formes.
C’est facile, gratuit et rapide :) !