Plugins

Palier5 Cette page ne cherche pas à dresser un catalogue — il en existe des centaines, ils sont périmés au bout d’un an, et ce n’est pas ce qui manque quand on démarre. Elle traite de la seule décision qui compte vraiment, puis des catégories de problèmes qu’un plugin peut résoudre.

Le catalogue nominatif, lui, est dans Ma configuration : des plugins réellement installés, avec la raison de chaque choix.

Distribution, kickstart, ou de zéro

Une distribution est une configuration complète, maintenue par quelqu’un d’autre, qu’on installe et qu’on ajuste ensuite.

  • LazyVim — bâtie sur lazy.nvim, organisée en modules activables ; la plus documentée
  • AstroNvim — très fournie visuellement, avec un système de community packs par langage
  • NvChad — axée sur le démarrage rapide et l’apparence

kickstart.nvim n’est pas une distribution mais un fichier unique, commenté ligne à ligne, prévu pour être lu puis modifié. Il couvre l’essentiel — LSP, complétion, treesitter, recherche floue — en restant lisible d’un bout à l’autre.

De zéro, enfin : on part d’un init.lua vide et on ajoute une brique quand on en ressent le besoin.

DistributionkickstartDe zéro
Opérationnel en10 minutesune soiréequelques semaines
Ce qu’on comprendla surfacel’ensembletout
Quand ça casseon cherche dans le dépôt d’un autreon lit son propre fichieron sait déjà
Risqueune couche opaqueaucuns’arrêter avant d’être équipé

Ma recommandation : kickstart. Une distribution fait gagner des semaines au prix d’une couche entière qu’on ne comprend pas le jour où elle casse ; partir de zéro est formateur mais décourageant. kickstart donne les deux — une configuration qui marche le soir même, et dont on a lu chaque ligne.

Le vrai piège

Quel que soit le point de départ, le risque n’est pas de mal choisir : c’est de passer plus de temps à configurer qu’à éditer. Une configuration qu’on retouche chaque semaine est le symptôme d’un palier 2 non franchi — on cherche dans les plugins ce qui s’obtient en apprenant la grammaire. Voir Apprentissage.

Ce qu’un plugin peut résoudre

Il vaut mieux raisonner par problème que par nom. Voici les catégories, dans l’ordre où elles deviennent utiles — et pour chacune, ce que Neovim sait déjà faire tout seul.

Gestionnaire de plugins. Le seul choix vraiment obligatoire, et il est consensuel : lazy.nvim. Installation, mise à jour, verrouillage des versions et chargement différé.

Serveurs de langage. Complétion contextuelle, diagnostics, renommage, navigation. Neovim est client LSP nativement depuis longtemps — il ne manque que les fichiers de configuration des serveurs (nvim-lspconfig) et un moyen de les installer (mason.nvim). Le reste est déjà là.

Complétion. Neovim a une complétion intégrée (Ctrl + n, Ctrl + x Ctrl + o), suffisante pour du texte, insuffisante pour du code. Un moteur y ajoute le déclenchement automatique, le tri, les snippets et la documentation en flottant.

Analyse syntaxique. Treesitter est intégré ; le plugin nvim-treesitter ne sert qu’à installer les grammaires et à distribuer les requêtes. Le gain est immédiat sur la coloration et l’indentation, et surtout il ouvre les objets texte sémantiques — la fonction, la classe, l’argument.

Formatage. Un formateur externe (prettier, stylua, rustfmt) appliqué à l’enregistrement. Le LSP sait souvent formater lui-même ; un plugin dédié devient utile dès qu’on veut choisir l’outil par type de fichier, ou respecter la version installée dans le projet.

Recherche floue. Le plus gros changement d’ergonomie de toute la liste, et celui qu’on sous-estime le plus. Ouvrir un fichier en tapant trois lettres de son nom, chercher une chaîne dans tout le dépôt avec un aperçu, parcourir les symboles d’un fichier. C’est ce qui rend l’explorateur de fichiers presque inutile.

Explorateur de fichiers. netrw est intégré et austère. Un remplaçant apporte une barre latérale, des icônes et des opérations de fichiers confortables — mais combiné à une recherche floue, il sert nettement moins qu’on ne l’imagine.

Git. Les modifications non commitées dans la marge, la navigation de bloc en bloc, l’indexation partielle, l’auteur du dernier commit sur la ligne courante.

Déplacements. Sauter n’importe où à l’écran en tapant deux caractères, ou étendre f et t au-delà de la ligne courante. À installer après le palier 1, pas avant : il faut avoir intégré les motions natives pour savoir ce qu’on améliore.

Apparence. Thème, ligne de statut, guides d’indentation. Aucun effet sur les capacités, un effet réel sur l’envie d’ouvrir l’éditeur — ce qui n’est pas rien.

Ce dont on peut très bien se passer. Auto-fermeture des paires, manipulation des délimiteurs, gestion de sessions, tableau de bord d’accueil, débogueur générique. Ce sont de bons plugins ; ce ne sont pas des manques.

Une brique par semaine

Installer huit plugins le même jour rend impossible d’attribuer un comportement inattendu à l’un d’eux, et garantit qu’on n’apprendra les raccourcis d’aucun. Une brique, utilisée une semaine, avant la suivante.