Neovim
Neovim est un fork de Vim, rétrocompatible avec la plupart des commandes et raccourcis Vim (voir la fiche Vim) mais avec des fonctionnalités modernes intégrées : client LSP natif, moteur de parsing Tree-sitter, configuration en Lua, terminal intégré... Ce mémo se concentre sur ce qui est spécifique à Neovim ; pour la navigation/édition de base, voir la fiche Vim. Basé sur neovim.io et la documentation intégrée (:help).
Aide et santé du système
vim
:help " Ouvrir l'aide générale
:help nvim-from-vim " Différences entre Neovim et Vim
:Tutor " Lancer le tutoriel interactif (équivalent de vimtutor)
:checkhealth " Diagnostiquer la configuration (LSP, providers, plugins...)
:version " Version de Neovim et fonctionnalités compilées
:Man mot " Ouvrir une page de man dans un bufferTerminal intégré
vim
:terminal " Ouvrir un terminal dans un buffer
:term " Idem (raccourci)
Ctrl+\ Ctrl+n " Quitter le mode terminal (revenir en mode normal)
i " Revenir en mode terminal (insertion) depuis normal
:vsplit | terminal " Ouvrir un terminal dans un split verticalLSP (client natif)
vim
:LspInfo " Voir les serveurs LSP attachés au buffer
:LspStart / :LspStop " Démarrer / arrêter un client LSP
:LspRestart " Redémarrer les clients LSPlua
-- Raccourcis typiques définis via vim.keymap.set (à configurer soi-même)
vim.lsp.buf.definition() -- Aller à la définition
vim.lsp.buf.declaration() -- Aller à la déclaration
vim.lsp.buf.references() -- Lister les références
vim.lsp.buf.hover() -- Afficher la documentation au survol
vim.lsp.buf.rename() -- Renommer le symbole partout
vim.lsp.buf.code_action() -- Actions de correction rapide
vim.lsp.buf.format() -- Formater le buffer via le serveur LSP
vim.lsp.buf.signature_help() -- Afficher la signature de la fonctionDiagnostics (erreurs, warnings)
vim
]d " Aller au diagnostic suivant
[d " Aller au diagnostic précédentlua
vim.diagnostic.open_float() -- Afficher le diagnostic sous le curseur
vim.diagnostic.setloclist() -- Lister les diagnostics dans la loclist
vim.diagnostic.goto_next() -- Diagnostic suivant
vim.diagnostic.goto_prev() -- Diagnostic précédent
vim.diagnostic.disable() -- Désactiver les diagnosticsTree-sitter
vim
:TSInstall langage " Installer un parser Tree-sitter (ex: :TSInstall python)
:TSUpdate " Mettre à jour tous les parsers installés
:TSBufToggle highlight " Activer/désactiver la coloration Tree-sitter sur le buffer
:InspectTree " Afficher l'arbre syntaxique du buffer courant
:Inspect " Afficher le groupe de highlight sous le curseurFenêtre flottante et UI
lua
vim.api.nvim_open_win() -- Créer une fenêtre flottante (utilisé par LSP, complétion...)
vim.notify("message") -- Afficher une notificationGestion de plugins (lazy.nvim)
lazy.nvim est le gestionnaire de plugins de référence pour Neovim moderne (voir le guide complet pour l'installation).
vim
:Lazy " Ouvrir l'interface de gestion des plugins
:Lazy sync " Installer/mettre à jour/nettoyer les plugins
:Lazy update " Mettre à jour les plugins
:Lazy clean " Supprimer les plugins non déclarés
:Lazy profile " Voir le temps de chargement de chaque plugin
:Lazy log " Voir les derniers changements (git log) des pluginsMason (installation de LSP/linters/formatters)
vim
:Mason " Ouvrir l'interface Mason
:MasonInstall outil " Installer un serveur LSP, linter ou formatter
:MasonUninstall outil " Le désinstaller
:MasonUpdate " Mettre à jour les paquets installésBuffers, fenêtres, onglets (rappel, communs à Vim)
vim
:ls " Lister les buffers ouverts
:bd " Fermer le buffer courant
Ctrl+ws / Ctrl+wv " Split horizontal / vertical
Ctrl+ww " Passer à la fenêtre suivante
gt / gT " Onglet suivant / précédentAide-mémoire rapide
| Situation | Commande |
|---|---|
| Vérifier que la config est saine | :checkhealth |
| Aller à la définition d'un symbole | vim.lsp.buf.definition() (souvent mappé sur gd) |
| Renommer un symbole partout | vim.lsp.buf.rename() (souvent mappé sur <leader>rn) |
| Voir la doc au survol | vim.lsp.buf.hover() (souvent mappé sur K) |
| Installer un serveur LSP | :MasonInstall pyright (ou équivalent) |
| Installer un parser Tree-sitter | :TSInstall python |
| Ouvrir/gérer les plugins | :Lazy |
| Voir les diagnostics du buffer | vim.diagnostic.open_float() |
| Ouvrir un terminal | :terminal |
| Recharger la config Lua | :source $MYVIMRC |
Source : neovim.io et :help.
