Neovim - Le Bottin des Jeux Linux

Neovim

🗃️ Specifications

📰 Title: Neovim 🕹️ / 🛠️ Type: Tool
🗃️ Genre: Development 👁️ Visual: Text
🏷️ Category: Development ➤ Editor & IDE 🏝️ Perspective: First person (interface)
🔖 Tags: Development; Editor; Built-in tutorial; Plugins system ⏱️ Pacing: Real Time
🐣️ Approx. start: 2014-01-31 👫️ Played: Single
🐓️ Latest: 2024-10-06 🚦 Status: 04. Released (status)
📍️ Version: Latest: 💥️ 0.10.2 / Dev: 27f3750 ❤️ Like it: 9. ⏳️
🏛️ License type: 🕊️ Libre 🎀️ Quality: 7. ⏳️
🏛️ License: Apache-2.0 & vim ✨️ (temporary):
🐛️ Created: 2023-04-08 🐜️ Updated: 2024-11-05

📦️ Deliverables

📦️ Package name: neovim ..... 📦️ Arch: ✓
📄️ Source: ✓ ..... 📦️ RPM: ✓
⚙️ Generic binary: ✓ ..... 📦️ Deb: ✓
🌍️ Browser version: ..... 📦️ AppImage: ✓
📱️ PDA support: ..... 📦️ Flatpak: ✓
✨️ Not use: ..... 📦️ Snap: ✓

🚦 Entry status

📰 What's new?: 👻️ Temporary:
💡 Lights on: 🎨️ Significant improvement:
👔️ Already shown: 💭️ New version published (to be updated):
🎖️ This work: 5 stars 🚧️ Some work remains to be done:
👫️ Contrib.: goupildb 🦺️ Work in progress:
🎰️ ID: 16312

📖️ Summary

📜️[en]: A fork of Vim, a libre, multi-platform text editor (derived from the UNIX Vi editor which it improves) intended for programming, but also usable for other common tasks. Neovim focuses on extensibility and usability while preserving the good aspects of Vim (fast, versatile, quasi-minimal, continuous development). It facilitates the entry of new contributors and unblocks authors of new plugins, and notably puts forward a Lua interface (vs Vimscript), nevertheless the objective is not to transform Vim into an IDE. 📜️[fr]: Un fork de Vim, un éditeur de texte (dérivé de l'éditeur UNIX Vi qu'il améliore) libre et multi-plateforme destiné à la programmation, mais aussi utilisable pour d'autres tâches courantes. Neovim est axé sur l'extensibilité et la facilité d'utilisation tout en préservant les bons côtés de Vim (rapide, polyvalent, quasi-minimal, développement continu). Il facilite l'entrée de nouveaux contributeurs et débloque les auteurs de nouveaux plugins, et met notamment en avant une interface Lua (vs Vimscript), néanmoins l'objectif n'est pas de transformer Vim en IDE.

🎥️ Videos


🦉️From Devs: (202212),


🦝️ From Users: (202302),


🕵️ Reviews: (202304), (202303),


🕯️ How To: (202212), (202112), [fr](202103),

🕸️ Links

🏡️ Website & videos
[Homepage] [Dev site] [Features/About] [Screenshots] [Videos t(202xxx) gd(202212) gu(202302) r(202304) r(202303) lp(202xxx) ht(202212) ht(202112) ht(202210) ht[fr](202103) ht[fr](202212) ht[de](202xxx) ht[ru](202xxx) ht[pl](202xxx) ht[cz](202xxx) ht[sp](202xxx) ht[pt](202xxx) ht[it](202xxx) ht[tr](202xxx)] [WIKI] [FAQ] [RSS] [Changelog 1 2 3]

💰 Commercial
[Support their work (Donate)]

🍩️ Resources
(empty, license): [Homepage] [Dev site] 🎬️ g(202xxx)

🛠️ Technical informations
[Open Hub] [PCGamingWiki] [MobyGames]

🦣️ Social
(Neovim) Devs (Neovim Team 1 2 [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
(Vim) Devs (Vim Team [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
(Vim) Devs (Bram Moolenaar [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(201811) 2(200707)]
(Vi) Devs (Bill Joy [fr] [en]): [Site 1 2] [TED] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(200506) 2 (predictions at TED) (200811) 3 Story[fr](202006)]
The Project: [Blog] [Chat] [Forums] [mastodon] [X] [PeerTube] [YouTube] [PressKit] [reddit] [Discord]

🐝️ Related
[Wikipedia (Neovim) [fr] [en] [de]]
[Wikipedia (Vim) [fr] [en] [de]]
[Wikipedia (Vi) [fr] [en] [de]]

📦️ Misc. repositories
[Repology] [pkgs.org] [Generic binary] [Arch Linux / AUR] [openSUSE] [Debian/Ubuntu] [Flatpak] [AppImage(author's repo)] [Snap] [PortableLinuxGames]

🕵️ Reviews
[HowLongToBeat] [metacritic] [OpenCritic] [iGDB]

🕊️ Source of this Entry: [Boiling Steam on mastodon (20230407)]

🦣️ Social Networking Update (on mastodon)

🛠️ Title: Neovim
🦊️ What's: A libre text editor for programming
🏡️ https://neovim.io/
🐣️ https://github.com/neovim
🦉️ https://hachyderm.io/@neovim
🔖 #LinuxGameDev #Flagship #Programming #Editor
📦️ #Libre #Bin #Arch #RPM #Deb #Flatpak #AppIm #Snap
📖 Our entry: (homeless)

🥁️ Update: 0.10.2
⚗️ Maintenance 🪛️
📌️ Changes: https://github.com/neovim/neovim/releases
🦣️ From: 🛜️ https://github.com/neovim/neovim/releases.atom

🦉️ https://www.youtube.com/embed/stqUbv-5u2s
🦝️ https://www.youtube.com/embed/c4OyfL5o7DU
🕵️ https://www.youtube.com/embed/AzhSnM0uHvM
🕵️[fr] https://www.youtube.com/embed/G1_Y5hLTfgw

🕶️ A view of its console UI, with a custom start screen and a fuzzy finder

📚️ Neovim is a fork of Vim, a libre, multi-platform text editor (derived from the UNIX Vi editor which it improves) intended for programming, but also usable for other common tasks. Neovim focuses on extensibility and usability while preserving the good aspects of Vim (fast, versatile, quasi-minimal, continuous development). It facilitates the entry of new contributors and unblocks authors of new plugins, and notably puts forward a Lua interface (vs Vimscript), nevertheless the objective is not to transform Vim into an IDE.

📕 Description [en]

📜️ "A fork of Vim, focusing on extensibility & usability while preserving its good aspects" 📜️

Vim-fork focused on extensibility and usability
hyperextensible Vim-based text editor

Vision

Neovim is a refactor, and sometimes redactor, in the tradition of Vim (which itself derives from Stevie). It is not a rewrite but a continuation and extension of Vim. Many clones and derivatives exist, some very clever—but none are Vim. Neovim is built for users who want the good parts of Vim, and more.

Goals

Extensible. Usable. Vim.

✅️ Retain the character of Vim—fast, versatile, quasi-minimal.
✅️ Enable new contributors, remove barriers to entry.
✅️ Unblock plugin authors.
✅️ Deliver a first-class Lua interface, as an alternative to Vimscript.
✅️ Leverage ongoing Vim development.
✅️ Optimize "out of the box", for new users but especially regular users.
✅️ Deliver a consistent cross-platform experience, targeting all libuv-supported platforms.
✅️ In matters of taste/ambiguity, favor tradition/compatibility...
✅️ ...but prefer usability if the benefits are extreme.

Non-goals

• Support Vim9script
• Turn Vim into an IDE
• Limit third-party applications (such as IDEs!) built with Neovim
• Deprecate Vimscript
• Conform to POSIX vi

Project management

• Maintainers: Neovim team
• Maintainer notes: MAINTAIN.md


Features

✅️ Extensible

• API is first-class: discoverable, versioned, documented.
• MessagePack structured communication enables extensions in any language.
• Remote plugins run as co-processes, safely and asynchronously.
• GUIs, IDEs, web browsers can --embed Neovim as an editor or script host.
• Lua plugins are easy to create just like Vimscript plugins. Your config can live in init.lua!
• AST-producing parsing engine enables faster, more accurate syntax highlighting, code navigation, refactoring, text objects, and motions.

✅️ Usable

• Builtin LSP client for semantic code inspection and refactoring (go-to definition, "find references", format, …)
• Strong defaults
• Works the same everywhere: one build-type, one command
• Modern terminal features such as cursor styling, focus events, bracketed paste
• Builtin terminal emulator

✅️ Drop-in Vim

• Fully compatible with Vim's editing model and Vimscript v1.
• Start with :help nvim-from-vim if you already use Vim.


🌍️ Wikipedia:

Neovim is a fork of Vim that strives to improve the extensibility and maintainability of Vim. Some features of the fork include built-in Language Server Protocol support, support for asynchronous I/O, and support for Lua scripting using luaJIT language interpreter.

Neovim has the same configuration syntax as Vim (unless vim9script is used); thus the same configuration file can be used with both editors, although there are minor differences in details of options. If the added features of Neovim are not used, Neovim is compatible with almost all of Vim's features.

The Neovim project was started in 2014, with some Vim community members offering early support of the high-level refactoring effort to provide better scripting, plugins, and integration with modern GUIs. The project is free software and its source code is available on GitHub.

Neovim had a successful fundraising in March 2014, supporting at least one full-time developer. Several frontends are under development, making use of Neovim's capabilities.

The Neovim editor is available in an Ubuntu Personal Package Archive, hosted by Canonical and some more conventional package managers, making it possible to install it on a variety of operating systems.

On October 27, 2021, GitHub released a GitHub Copilot (a cloud-based artificial intelligence tool for autocompleting code) plugin for Neovim as a public repository.

📕 Description [fr]

Un fork de Vim, un éditeur de texte libre destiné à la programmation, par la Neovim Team, reprenant le travail de la Vim Team, de Bram Moolenaar (Vim), et de Bill Joy (Vi).

Neovim est un fork de Vim, un éditeur de texte (dérivé de l'éditeur UNIX Vi qu'il améliore) libre et multi-plateforme destiné à la programmation, mais aussi utilisable pour d'autres tâches courantes. Neovim est axé sur l'extensibilité et la facilité d'utilisation tout en préservant les bons côtés de Vim (rapide, polyvalent, quasi-minimal, développement continu). Il facilite l'entrée de nouveaux contributeurs et débloque les auteurs de nouveaux plugins, et met notamment en avant une interface Lua (vs Vimscript), néanmoins l'objectif n'est pas de transformer Vim en IDE.

Crédit image (lien ci-dessus): Wikipedia (GPL)


Fork de Vim axé sur l'extensibilité et la facilité d'utilisation

Un éditeur de texte hyperextensible basé sur Vim

Vision

Neovim est un logiciel de refactorisation, et parfois de rédaction, dans la tradition de Vim (qui dérive lui-même de Stevie). Il ne s'agit pas d'une réécriture mais d'une continuation et d'une extension de Vim. De nombreux clones et dérivés existent, certains très intelligents, mais aucun n'est Vim. Neovim est conçu pour les utilisateurs qui veulent les bons côtés de Vim, et plus encore.

Objectifs

Extensible. Utilisable. Vim.

✅️ Conserver le caractère de Vim - rapide, polyvalent, quasi-minimal.
✅️ Permettre de nouveaux contributeurs, supprimer les barrières à l'entrée.
✅️ Débloquer les auteurs de plugins.
✅️ Fournir une interface Lua de première classe, comme alternative à Vimscript.
✅️ Tirer parti du développement continu de Vim.
✅️ Optimiser "out of the box", pour les nouveaux utilisateurs mais surtout pour les utilisateurs réguliers.
✅️ Offrir une expérience multi-plateforme cohérente, ciblant toutes les plateformes supportées par libuv.
✅️ En matière de goût/ambiguïté, privilégier la tradition/compatibilité...
✅️ ...mais préférer la facilité d'utilisation si les avantages sont extrêmes.

Non-objectifs

• Supporter Vim9script
• Transformer Vim en IDE
• Limiter les applications tierces (comme les IDE !) construites avec Neovim
• Déclasser Vimscript
• Se conformer à POSIX vi

Gestion du projet

• Mainteneurs : L'équipe Neovim
• Notes du mainteneur : MAINTAIN.md


Caractéristiques

Extensible

• L'API est de première classe : découvrable, versionnée, documentée.
• La communication structurée MessagePack permet des extensions dans n'importe quel langage.
• Les plugins distants s'exécutent en tant que co-processus, en toute sécurité et de manière asynchrone.
• Les interfaces graphiques, les IDE, les navigateurs web peuvent intégrer Neovim en tant qu'éditeur ou hôte de scripts.
• Les plugins Lua sont faciles à créer, tout comme les plugins Vimscript. Votre configuration peut se trouver dans init.lua !
• Le moteur d'analyse syntaxique AST permet une mise en évidence de la syntaxe plus rapide et plus précise, la navigation dans le code, le remaniement, les objets texte et les motions.

Utilisable

• Client LSP intégré pour l'inspection sémantique du code et le refactoring (définition go-to, "find references", format, ...)
• Défauts importants
• Fonctionne partout de la même manière : un seul type de construction, une seule commande
• Fonctionnalités de terminal modernes telles que le style du curseur, les événements de mise au point, le collage entre crochets
• Émulateur de terminal intégré

Vim intégré

• Entièrement compatible avec le modèle d'édition de Vim et Vimscript v1.
• Commencez par :help nvim-from-vim si vous utilisez déjà Vim.



🌍️ Wikipedia:

Vim est un éditeur de texte, c’est-à-dire un logiciel permettant la manipulation de fichiers texte. Il est directement inspiré de vi (un éditeur très répandu sur les systèmes d’exploitation de type Unix), dont il est le clone le plus populaire. Son nom signifie d’ailleurs Vi IMproved, que l’on peut traduire par « VI aMélioré ».

Vim est un éditeur de texte extrêmement personnalisable, que ce soit par l'ajout d'extensions, ou par la modification de son fichier de configuration, écrits dans son propre langage d'extension, le Vim script.

Bien qu'il ait de nombreuses fonctionnalités, il conserve un temps de démarrage court (même agrémenté d'extensions) et reste ainsi adapté pour des modifications simples et ponctuelles (de fichiers de configuration par exemple).

Vim se différencie de la plupart des autres éditeurs par son fonctionnement modal, hérité de vi. En effet, il possède trois modes de base : le mode normal ou mode commande (dans lequel vous êtes lorsque Vim démarre), le mode insertion, et le mode ligne de commande.

Vim est un logiciel libre. Son code source a été publié pour la première fois en 1991 par Bram Moolenaar, son principal développeur. Depuis, ce dernier a continué de l’améliorer, avec l’aide de nombreux contributeurs.


Présentation

Dans un terminal informatique, Vim fonctionne en mode texte plein écran, comme l’éditeur de texte vi. Il propose énormément de fonctions qui sont, pour la grande majorité, accessibles au clavier. Ceci s’explique par des raisons historiques : les premières versions de vi datent du milieu des années 1970, époque à laquelle les téléscripteurs, les terminaux alors les plus répandus, étaient incapables de supporter le mode Wysiwyg faute d'écran cathodique (l'impression sur papier d'une dizaine de lignes de code pouvait prendre près d'une minute). L'ergonomie de Vi, à base de raccourcis clavier, permettait de réduire la quantité de texte à imprimer pour effectuer et vérifier les modifications apportées au fichier.

Vim peut, si l'utilisateur le souhaite, être compatible à 100 % avec vi. De très nombreuses améliorations et fonctionnalités ont été ajoutées à Vim, et ne sont pas présentes dans Vi, comme la gestion de la souris, le repliement, la coloration syntaxique... De plus, depuis la version 4.0, Vim dispose d’une interface utilisateur graphique moderne, GVim.

Il existe deux autres versions de Vim : l'une, simplifiée pour les utilisateurs débutants, eVim (le "e" pour easy) ; et l'autre, Vim-Tiny, plus compacte. Cette dernière est une version minimale de vim compilée sans interface graphique, avec seulement un petit sous-ensemble de fonctions : elle prend à peine plus d'espace-mémoire que nvi. Certaines fonctionnalités, telles que la coloration syntaxique, ne sont pas incluses dans Vim-Tiny.

Vim est utilisable sur de nombreux systèmes d’exploitation et est disponible sur pratiquement toutes les distributions GNU/Linux. En général, l’exécutable vi sur Linux correspond à un lien ou à un alias appelant Vim. Quand Vim est déjà lancé, il est possible de connaître sa version en utilisant la commande :version du mode Normal.

Histoire

(...)