Skip to content

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 buffer

Terminal 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 vertical

LSP (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 LSP
lua
-- 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 fonction

Diagnostics (erreurs, warnings)

vim
]d                    " Aller au diagnostic suivant
[d                    " Aller au diagnostic précédent
lua
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 diagnostics

Tree-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 curseur

Fenê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 notification

Gestion 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 plugins

Mason (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és

Buffers, 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édent

Aide-mémoire rapide

SituationCommande
Vérifier que la config est saine:checkhealth
Aller à la définition d'un symbolevim.lsp.buf.definition() (souvent mappé sur gd)
Renommer un symbole partoutvim.lsp.buf.rename() (souvent mappé sur <leader>rn)
Voir la doc au survolvim.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 buffervim.diagnostic.open_float()
Ouvrir un terminal:terminal
Recharger la config Lua:source $MYVIMRC

Source : neovim.io et :help.

Publié sous lience MIT.