var Phenix = function () {
Troll du Web depuis 1996

Emacs/Spacemacs

Trucs et astuces pour mon éditeur de texte préféré : Spacemacs

Les macros avec evil-mode

J’ai enfin compris comment utiliser les macros d’Emacs avec Evil-mode.

Dans un premier temps, il faut définir une macro avec q + une lettre qui servira pour rappeler la macro. A priori, n’importe quelle lettre peu être utilisé. J’ai pas tout testé cependant.

Ensuite, définissez normalement votre macro et arrêté l’enregistrement quand vous voulez avec q.

Il suffit alors d’utiliser @ - la lettre pour appeler la macro !
Du coup, il est possible d’enregistrer plusieurs macros sur différentes lettre, cela peut être bien pratique :).

En résumé :

  • q a pour démarrer la macro sur la lettre de votre choix (ici a).
  • q pour arrêter l’enregistrement
  • @ - a pour lancer la macro
Voir en ligne : How can I save evil-mode (vim style) macros to my init.el ?

Spacemacs et Typescript sous Windows

Si vous utilisez Spacemacs pour faire du TypeScript sous Windows, vous avez certainement remarqué que l’auto-complétion est a peine utilisable tellement c’est lent. Souvent, taper une méthode complètement va plus vite que d’attendre que l’auto-complétion ne vous la propose.

La faute à Windows bien entendu ! De manière générale, Emacs tourne bien plus lentement sous Windows.

Bref, c’est chiant et pour les gens comme moi qui trouve que VScode c’est pas terrible comparer a Emacs/Spacemacs, j’ai trouvé une solution sur le Github de flycheck. Il faut ajouter ce bout de code dans votre dotspacemacs/user-config

  1. (eval-after-load 'flycheck
  2.    '(setcar (memq 'source-inplace (flycheck-checker-get 'typescript-tslint 'command)) 'source-original))

Normalement cela devrait aller beaucoup mieux. En tout cas chez moi cela donne un gros gain de performance.


Reformater les fichiers XML via Emacs et Xmllint

Souvent on reçois des fichiers XML sans formatage, car créer et destinés à des machines.
Il y a un outil sympa, en CLI : xmllint. Pour l’installer :

  1. sudo apt install libxml2-utils

Ensuite, une petite fonction Emacs qui va bien :

  1.   (defun xml-format ()
  2.     "Format an XML buffer with `xmllint'."
  3.     (interactive)
  4.     (shell-command-on-region (point-min) (point-max)
  5.                              "xmllint -format -"
  6.                              (current-buffer) t
  7.                              "*Xmllint Error Buffer*" t))
Voir en ligne : Format XML in Emacs – manu.el

Limiter le pouvoir d’Iedit-mode

Petit pense-bête pour Iedit-mode et Spacemacs.
Cela peut vous faire gagner un temps fou !

Iedit permet de replacer toutes les occurrences d’une sélection en une seule fois. Mais par défaut, il le fait dans tout le buffer.

Il existe cependant quelques possibilités pour limiter le « scope », la sélection :

  • F pour limiter Iedit à la fonction en court. C’est parfait pour renommer une variable !
  • L pour limiter à la ligne en court.
  • J pour ajouter une ligne du dessous a la sélection Iedit.
  • K pour ajouter une ligne au-dessus de la sélection Iedit.
  • Naviguer entre les occurrences : n et N ou TAB.

Il est aussi possible de sélectionner une zone pour réduire la sélection Iedit :

  1. SPC s e pour activer Iedit.
  2. Sélectionnée la zone (v en Evil-mode, les autres comme V ne fonctionne pas).
  3. SPC s e pour réactiver Iedit qui limitera l’effet.
Voir en ligne : How to replace words in a region using iedit ?

Emacs/Spacemacs, PuTTy et les couleurs

J’ai remarqué il y a peu que les couleurs d’Emacs/Spacemacs était complètement foireuses en ce connectant depuis Windows et PuTTy.
Mais genre, vraiment moche et illisible.

Rien a voir avec le thème que j’utilise normalement.

Après un peu de recherche, la solution est en faite très simple : il faut activer les 256 couleurs du terminal !

Voilà, on respire, c’est déjà beaucoup mieux :)