Partir de zéro plutôt que prendre une distro
Quand on débute sur Neovim, la voie évidente est une distribution prête à l’emploi : LazyVim, NvChad et les autres donnent un éditeur complet en quelques minutes. Je l’ai écartée pour une raison simple : je ne voulais pas dépendre d’une configuration que je serais incapable d’expliquer.
J’ai donc tout repris à la main. Ma config s’appelle mvim, et la règle que je me suis fixée tient en une phrase : chaque ligne doit être comprise, aucune distro. Le but n’est pas d’aller vite : le temps passé à lire la doc de lazy.nvim ou de vim.lsp.config est du temps d’apprentissage, pas du temps perdu.
Ce qu’il y a dedans
Rien d’exotique, mais j’ai posé chaque brique moi-même :
- gestion des plugins avec lazy.nvim et un lockfile, pour des installs reproductibles ;
- nvim-treesitter (branche
main, la réécriture) pour le parsing et la coloration ; - LSP natif via
vim.lsp.config(Neovim 0.11+) avec Mason pour installer les serveurs :lua_ls,rust_analyzer,basedpyright; - complétion avec blink.cmp, recherche avec telescope + fzf-native, arborescence avec neo-tree, et gitsigns ;
- le petit outillage qui change le quotidien : mini.surround, mini.pairs, flash.nvim, undotree ;
- formatage à la sauvegarde via conform.nvim (stylua, rustfmt, ruff).
Thème kanagawa-dragon. Tout ça tourne sur un Mac mini headless, en SSH et tmux, et la config est versionnée dans mes dotfiles gérés avec GNU Stow.
Cohabiter sans casser l’existant
Point pratique : mvim ne remplace pas une autre config Neovim, il vit à côté. C’est possible grâce à NVIM_APPNAME, avec un simple alias :
alias mvim='NVIM_APPNAME=mvim nvim'
Je peux ainsi itérer sur ma config sans toucher à une installation existante.
Le kill-switch IA pour l’école
Un point que je veux détailler est l’intégration de l’assistant IA, via sidekick.nvim (CLIs Claude Code / Codex), assortie d’un kill-switch par projet. Concrètement, un fichier marqueur .noai à la racine — ou des chemins bloqués dans la config — désactivent l’IA dans ce dossier.
La raison est l’intégrité académique : mes projets d’école restent sans IA, sans exception. Je ne veux pas dépendre d’un modèle pour rendre un TP, et je ne veux pas non plus avoir à y penser à chaque ouverture de fichier. Le garde-fou est dans l’outillage, pas dans ma volonté du moment — c’est justement ce qui le rend fiable.