My Own Memory Hole
Blog♯Windows

Sublime Text & Markdown

Packages

  • MarkdownEditing : prend pleinement en charge le langage Markdown, fournit un ensemble de commandes utiles à la rédaction via la Command Palette...
  • TableEditor : non spécifique au Markdown mais permet de faciliter la création de tableaux et d'en faciliter la lecture via un mécanisme d'alignement performant ;
  • MarkdownPreview : permet de générer des aperçus au format HTML des documents en Markdown, soit via la commande Preview in Browser soit via la commande Build appelable avec le raccourci Ctrl+b ;
  • MarkdownLivePreview : scinde une fenêtre de Sublime Text et fournit un aperçu en direct de ce qui est saisi. Sublime MarkdownLivePreview
  • Pandoc : ce plugin permet de générer, à partir d'un fichier Markdown (entre autres formats), des documents PDF, Word, HTML... Il nécessite cependant de bien avoir le paquet pandoc d'installé :
    sudo apt install pandoc

Snippets et raccourcis clavier

  • guillemets français en HTML :
    <snippet>
    <content><![CDATA[
    «&#8239;${1}&#8239;»$0
    ]]></content>
    <tabTrigger>og</tabTrigger>
    <scope>text.html.markdown,text.html</scope>
    </snippet>

    ou via le raccourci clavier Alt+" :

    { "keys": ["alt+\""], "command": "insert_snippet", "args": {"contents": "«&#8239;${1}&#8239;»$0"}, "context":
        [
            { "key": "selector", "operator": "equal", "operand": "text.html.markdown,text.html" }
        ]
    },
  • espace insécable en HTML avec le raccourci clavier Ctrl+Espace :
    { "keys": ["ctrl+space"], "command": "insert_snippet", "args": {"contents": "&nbsp;$0"}, "context":
        [
            { "key": "selector", "operator": "equal", "operand": "text.html.markdown,text.html" }
        ]
    },

Configuration

Voici le contenu du fichier ~/.config/sublime-text-3/Packages/User/Markdown.sublime-settings :

{
    "color_scheme": "Packages/Monokai++/themes/Monokai++.tmTheme",
    "line_numbers": true,
    "highlight_line": true,
    "enable_table_editor": true,
}

Sublime Text & LaTeX

Packages

Snippets et raccourcis clavier

  • guillemets français :
    <snippet>
    <content><![CDATA[
    \og ${1} \fg{}$0
    ]]></content>
    <!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
    <tabTrigger>og</tabTrigger>
    <!-- Optional: Set a scope to limit where the snippet will trigger -->
    <scope>text.tex.latex</scope>
    </snippet>

    ou via le raccourci clavier Alt+" 

    { "keys": ["alt+\""], "command": "insert_snippet", "args": {"contents": "\\og ${1} \\fg{}$0"}, "context":
        [
            { "key": "selector", "operator": "equal", "operand": "text.tex.latex" }
        ]
    },

Ma configuration de Sublime Text

Il s'agit ici pour moi de conserver une trace de mes usages restreints mais variés de l'éditeur Sublime Text, notamment les raccourcis claviers modifiés, les packages utilisés, les snippets créés...

Synchronisation via Dropbox

La solution retenue pour synchroniser notamment la configuration, les packages installés et leurs paramètres ainsi que les snippets passe par Dropbox, comme présenté dans la documentation.

On commence par récupérer le .deb qui va bien depuis cette page et on lance ensuite l'installation :

sudo apt install python3-gpg && sudo apt install ./Téléchargements/dropbox_2020.03.04_amd64.deb

On redémarre et on lance ensuite l'application Dropbox depuis le menu Applications > Internet > Dropbox.

Ensuite, on n'a plus qu'à suivre les instructions fournies :

  • sur la première machine, où Sublime Text est configuré aux petits oignons :
    cd ~/.config/sublime-text-3/Packages/
    mkdir ~/Dropbox/Sublime
    mv User ~/Dropbox/Sublime/
    ln -s ~/Dropbox/Sublime/User
  • sur les autres ordinateurs :
    cd ~/.config/sublime-text-3/Packages/
    rm -r User
    ln -s ~/Dropbox/Sublime/User

Apparence

Langages

Accédez à ses sous-domaines de localhost sous Chromium ou Opera

Sous Chromium ou Opera, sous Xubuntu 15.04, il m'était impossible d'accéder à mes sous-domaines de localhost.

Opera était assez peu bavard et se contentait du message :

Cette page web n'est pas disponible

Impossible de se connecter à avec2.localhost.

Chromium était un peu plus bavard :

Page Web inaccessible

DNS_PROBE_FINISHED_NXDOMAIN

Pourtant, mes sous-domaines de localhost sont bien définis dans mon /etc/hosts et je ne rencontre aucun souci pour y accéder avec Firefox (ce n'est plus le cas en 2020... voir cet article).

Après quelques recherches et quelques tentatives infructueuses, j'ai découvert une page de Chromium permettant de « suivre » le cache DNS de Chromium : chrome://net-internals/#dns.

On commence par purger le cache puis on essaie d'accéder à l'un de ses sous-domaines.
On peut alors voir apparaître une ligne de ce type :

localhost.  IPV4    error: -105 (ERR_NAME_NOT_RESOLVED) 2015-07-26 23:07:56.563 [Expired]

Suivent d'autres recherches qui aboutissent à un commentaire d'un des rapports de ce « bug » (qui est en fait une feature...)

On modifie donc son fichier /etc/hosts en y ajoutant simplement cette ligne :

    127.0.0.1   localhost.

Et tout rentre dans l'ordre, aussi bien sous Chromium que sous Opera.

Remplacer vim par nano dans Git Bash sous Windows

Vous êtes linuxien, incapable de comprendre vim (hormis le :quit...) et utilisez Git Bash sous Windows qui propose cet éditeur par défaut ? Faites comme moi, passez à nano !

Installation de nano

Commencez par vous rendre sur la page de téléchargement de nano et télécharger l'archive au format zip.

Décompressez l'ensemble des fichiers de l'archive vers le répertoire C:\Program Files (x86)\Git\share\nano\ (en fonction du chemin d'installation de Git).

Nano dans Git Bash

Créez un fichier avec l'éditeur de votre choix (Sublime Text, Notepad++) avec ceci dedans :

#!/bin/sh
exec /share/nano/nano.exe "$@"

Enregistrez-le sous le nom nano (sans extension) dans un répertoire qui se trouve dans le Path ou ajouter le répertoire dans le Path.

Connaître et modifier le Path sous Windows

Dans l'explorateur de fichier, faites un clic droit sur Ordinateur, sélectionnez Propriétés. Accédez aux Paramètres système avancés et allez dans Variables d'environnement. Dans la seconde partie de la fenêtre se trouvent les "Variables système". Double cliquez sur Path et vous aurez la liste des dossiers pris en compte par cette variable. Vous pouvez donc facilement ajouter le dossier où vous avez enregistré le fichier nano créé précédemment.

Prise en compte par Git Bash

Une fois cela fait, relancer Git Bash s'il était ouvert et vous devriez pouvoir lancer la commande nano directement :

nano

Si ce n'est pas le cas et que vous avez modifié le Path, ouvrez une invite de commande (Ctrl+R puis tapez cmd) et vérifiez la valeur de PATH :

PATH

Si votre répertoire n'apparaît pas dans la liste, lancez la commande :

SET PATH=%PATH%;C:\VOTRE\REPERTOIRE

Relancez Git Bash et testez à nouveau de lancer nano.

Utiliser nano pour les commits

Vous devez configurer Git pour qu'il appelle nano plutôt que vim pour les commits :

git config --global core.editor "nano"

Lors de votre prochain commit vous devriez donc bénéficier de nano.