Projet open source
neovim/neovim avatar
neovim/neovim

Neovim : un fork de Vim orienté vers l'extensibilité

Un éditeur extensible basé sur Vim, axé sur la simplicité d’utilisation et les intégrations modernes.

102 355 étoiles7 113 forksVim ScriptLa licence varie

En bref

De quoi s’agit-il ?
Le README décrit les objectifs, les fonctionnalités, la compilation et l'arborescence du projet; le fichier de licence lui-même n'est pas vérifié dans les sources fournies.
À qui s’adresse-t-il ?
Neovim est un fork de Vim dont le README met l'accent sur l'extensibilité et la maintenabilité. Le processus de compilation, la liste des fonctionnalités et l'organisation du code sont documentés, mais la licence doit être vérifiée directement, car les métadonnées indiquent NOASSERTION et aucun fichier LICENSE n'a été fourni.
Puis-je l’utiliser commercialement ?
À vérifier. La licence de ce dépôt n’entre pas dans les catégories que nous classons automatiquement : lisez son fichier LICENSE avant tout usage commercial.
Est-il encore maintenu ?
Oui. Le dépôt a reçu de nouveaux commits au cours des dernières 24 heures.
En quel langage est-il écrit ?
Principalement Vim Script, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Un fork de Vim fondé sur la refactorisation

Le README de Neovim présente le projet comme un fork de Vim destiné à refactoriser Vim de manière agressive. Les objectifs énoncés sont de simplifier la maintenance et encourager les contributions, répartir le travail entre plusieurs développeurs, permettre des interfaces utilisateur avancées sans modification du noyau, et maximiser l'extensibilité. La description du dépôt mentionne aussi un fork de Vim centré sur l'extensibilité et la facilité d'utilisation. Le README renvoie vers une page wiki Introduction et une feuille de route, mais ces pages ne font pas partie des sources fournies; toute information au-delà de ces objectifs nécessite une vérification séparée.

Des fonctionnalités liées à l'extensibilité

La liste des fonctionnalités est directement liée à l'extensibilité. Neovim prend en charge des GUI modernes via une API; le README énumère des clients API pour C/C++, C#, Clojure, D, Elixir, Go, Haskell, Java/Kotlin, JavaScript/Node.js, Julia, Lisp, Lua, Perl, Python, Racket, Ruby et Rust. Il inclut un émulateur de terminal intégré et scriptable, un contrôle de travaux asynchrones, des données partagées (shada) entre plusieurs instances de l'éditeur, et la prise en charge des répertoires de base XDG. Le README indique aussi que la plupart des plugins Vim sont compatibles, notamment les plugins Ruby et Python. Il renvoie à `:help nvim-features` pour la liste complète et à `:help news` pour les changements notables de la dernière version.

Installation depuis des paquets ou depuis les sources

D'après le README, des paquets précompilés pour Windows, macOS et Linux sont disponibles sur la page Releases. Des paquets gérés sont proposés pour Homebrew, Debian, Ubuntu, Fedora, Arch Linux, Void Linux, Gentoo et d'autres. La compilation depuis les sources est basée sur CMake, avec un Makefile fourni pour plus de commodité. Après installation des dépendances, les commandes indiquées sont `make CMAKE_BUILD_TYPE=RelWithDebInfo` et `sudo make install`. Pour une installation dans un emplacement non standard, le README montre `make CMAKE_BUILD_TYPE=RelWithDebInfo CMAKE_INSTALL_PREFIX=/full/path/` suivi de `make install`. Il mentionne aussi des aides CMake: `cmake --build build --target help` liste les cibles, `build/CMakeCache.txt` ou `cmake -LAH build/` montre les variables CMake résolues, et `build/compile_commands.json` contient les invocations complètes du compilateur pour chaque unité de compilation.

Organisation de l'arborescence du code

La section sur l'organisation du projet montre les répertoires de premier niveau: `cmake/` pour les utilitaires CMake, `cmake.config/` pour les définitions CMake, `cmake.deps/` pour le sous-projet qui récupère et construit les dépendances (optionnel), `runtime/` pour les plugins et la documentation, et `src/nvim/` pour le code source de l'application. Dans `src/nvim` se trouvent plusieurs sous-systèmes: `api/`, `eval/` (Vimscript), `event/`, `generators/` (génération de code avant compilation), `lib/` (structures de données génériques), `lua/`, `msgpack_rpc/`, `os/` (code de bas niveau) et `tui/` (interface intégrée). Le répertoire `test/` contient les tests. Le README présente tout cela sous forme d'arborescence sans explication supplémentaire.

Migration depuis Vim et accès à la documentation

Pour les utilisateurs qui viennent de Vim, le README renvoie à `:help nvim-from-vim` pour les instructions de migration. Il fournit aussi un lien vers la documentation officielle sur neovim.io/doc et un salon de discussion Matrix. Le README ne contient pas de guide de migration complet ni de liste des changements cassants; il donne seulement ces points d'entrée. Les différences concrètes entre Vim et Neovim doivent être consultées dans les fichiers d'aide intégrés.

Licence et points restant à vérifier

Le README indique que les contributions à Neovim depuis le commit b17d96 sont sous licence Apache 2.0, sauf les contributions copiées depuis Vim, identifiées par le jeton `vim-patch`, et renvoie à LICENSE.txt pour les détails. Cependant, les métadonnées du dépôt enregistrent licenseSpdx comme NOASSERTION, et l'extrait de licence fourni pour cet article dit qu'aucun fichier LICENSE n'a été trouvé dans les chemins habituels. Le contenu du fichier de licence réel ne peut donc pas être vérifié ici. La présence ou non d'un fichier LICENSE.txt à la racine du dépôt doit être contrôlée directement.

Lire neovim/neovim à travers ses fichiers

Le dépôt neovim/neovim doit être compris à partir de ses propres fichiers et de l organisation que son README présente. La description disponible indique notamment : <h1 align="center"> <a href="https://neovim.io/doc/">Documentation</a> | <a href="https://app.element.io/#/room/#neovim:matrix.org">Chat</a> </h1> [](https://scan.coverity.com/projects/2227) [](https://repology.org/metapackage/neovim) [](https://buildd.debian.org/neovim) [](https://github.com/neovim/neovim/releases/) Neovim is a project that seeks to aggressively refactor [Vim](https://www.vim.org/) in order to: - Si. Ce périmètre permet de distinguer une fonction explicitement documentée d une hypothèse sur l écosystème. Il faut conserver les noms des paquets, des répertoires et des options tels qu ils apparaissent dans le dépôt, car une variation minime peut changer le résultat.

Un essai ciblé avec neovim/neovim

Pour examiner neovim/neovim, commencez par make CMAKE_BUILD_TYPE=RelWithDebInfo, dans un environnement isolé correspondant aux prérequis indiqués. Observez le fichier de sortie, le journal ou l interface que le README associe à cette action. Relevez aussi la version publiée, la branche utilisée et l erreur exacte en cas d échec. Ce test est propre à neovim/neovim : il vérifie une entrée et un résultat identifiables, au lieu de transformer une présentation de dépôt en garantie générale.

Conclusion éditoriale

Neovim est un fork de Vim dont le README met l'accent sur l'extensibilité et la maintenabilité. Le processus de compilation, la liste des fonctionnalités et l'organisation du code sont documentés, mais la licence doit être vérifiée directement, car les métadonnées indiquent NOASSERTION et aucun fichier LICENSE n'a été fourni.

Sources officielles

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Notes de la communauté

Notes de la communauté