Some screenshots of Neovim with its logo in the center.
Agence web » Actualités du digital » Qu'est-ce que Neovim et comment pouvez-vous commencer à l'utiliser ?

Qu'est-ce que Neovim et comment pouvez-vous commencer à l'utiliser ?

Principaux points à retenir

  • Bien qu'il ait une réputation décourageante, Neovim est un éditeur de texte puissant qui vaut la peine d'être appris.
  • Neovim est un remplacement direct de Vim, avec une architecture remaniée et un support pour les plugins écrits en Lua.
  • Les plugins peuvent ajouter des catégories entières de nouvelles fonctionnalités à Neovim.

Que vous soyez un codeur chevronné, que vous débutiez dans la programmation ou que vous souhaitiez simplement éditer quelques fichiers, un bon éditeur de texte est un outil essentiel. Bien qu'il ait une réputation décourageante et, oui, une certaine courbe d'apprentissage, Neovim vaut absolument la peine d'être appris, peut-être même plus que ses prédécesseurs historiques.

Qu'est-ce que Neovim ?

Pour expliquer ce qu'est Neovim, il faut prendre un peu de recul et expliquer ce qui l'a conduit à sa création. Dans l'histoire d'Unix et des systèmes d'exploitation de type Unix (Linux inclus), peu de logiciels sont aussi connus que vi. Cet éditeur de texte date de 1976, et vous pouvez presque être sûr qu'il s'agit de l'éditeur de texte par défaut que vous trouverez sur n'importe quel système Linux.

Parmi ses autres fonctionnalités clés, vi utilise l'édition modale. En résumé, cela signifie que vous travaillez soit en mode insertion, où vous « insérez » du texte, soit en mode normal, où au lieu de saisir du texte, les touches effectuent diverses actions liées à l'édition. Mieux encore, vous pouvez enchaîner ces commandes dans une sorte de langage pour permettre une édition puissante en quelques frappes de touches seulement.

Aussi puissant que soit vi, sa nature minimaliste n'est pas la mieux adaptée aux projets plus importants ou plus complexes. Vim n'était pas le premier clone de vi, mais cette version, qui signifie vi Improved et a été écrite par Bram Moolenaar et initialement publiée pour le Commodore Amiga en 1991. Vim a ajouté de nombreuses fonctionnalités que nous considérons comme acquises dans un éditeur de texte de nos jours, comme la coloration syntaxique, la saisie semi-automatique et la prise en charge d'Unicode.

Neovim est, à bien des égards, ce que Vim était pour vi. Neovim fonctionne comme un remplacement direct de Vim, au point que vous pouvez continuer à utiliser votre ancien fichier .vimrc si vous le souhaitez. Cela dit, Neovim prend également en charge l'écriture de vos configurations dans des scripts Lua, tout en offrant beaucoup plus de puissance, surtout si vous êtes déjà un codeur.

Il existe une communauté active de développeurs autour de Vim et Neovim, et les projets ne semblent pas être en concurrence active. Bien que Neovim ait tendance à obtenir les nouvelles fonctionnalités en premier, et que certaines fonctionnalités plus expérimentales ne soient jamais disponibles pour l'éditeur plus expérimenté, ils semblent tous deux assez sains.

Différences clés entre Vim et Neovim

Pour commencer, il y a plus de similitudes entre Vim et Neovim que de différences. Bien que j'utilise Vim/Neovim depuis des années maintenant, je garde un exemplaire de Practical Vim de Drew Neil sur mon bureau. Malgré l'absence évidente de « néo » dans le titre, je n'ai pas encore lu une seule astuce dans ce livre qui ne soit pas applicable dans Neovim.

Pour les développeurs, Neovim vise à être plus simple à maintenir et à étendre, avec des interfaces utilisateur plus avancées possibles. Cela signifie que pour les utilisateurs, nous obtenons plus rapidement de nouvelles fonctionnalités intéressantes, tandis que la base de code simplifiée devrait faciliter la maintenance pour garantir que nous puissions continuer à utiliser ces fonctionnalités.

En pratique, le principal élément de différenciation entre Neovim et Vim est, comme déjà évoqué ci-dessus, l'écosystème des plugins. Non seulement Lua est un langage plus connu que Vimscript, mais en général, l'architecture des plugins utilisée par Neovim donne aux plugins plus de contrôle sur l'environnement. Cela signifie que les plugins peuvent transformer Neovim de manière totalement inédite.

En plus de la possibilité d'utiliser Lua pour votre fichier de configuration, Neovim utilise également une structure de répertoire différente. Alors que Vim a tendance à rechercher un .vimrc Dans votre répertoire personnel, Neovim suit la spécification du répertoire de base XDG. Si vous utilisez un Mac, cela n'aura pas beaucoup de sens pour vous, mais pour les utilisateurs de Linux, cela signifie que votre configuration Neovim se trouve dans $HOME/.config/nvim de la même manière que beaucoup d’autres programmes.

Notions de base sur Neovim

Neovim n'est pas aussi répandu ou commun que Vim (du moins, pas encore), mais il est toujours disponible sur la plupart des principales distributions Linux.

Installation de Neovim

Sur les systèmes Ubuntu ou Debian, exécutez :

sudo apt install neovim 

Sur Fedora, exécutez ce qui suit :

sudo dnf install neovim 

Pour les systèmes basés sur Arch, exécutez :

sudo pacman -S neovim 

Pour des performances optimales, une fois Neovim installé, exécutez l'application avec le nvim commande, puis appuyez sur Échap pour vous assurer que vous êtes en mode normal, puis entrez ce qui suit :

:checkhealth 

Si Neovim s'appuie sur d'autres programmes qui ne sont pas installés, cette commande vous le fera savoir. Si vous rencontrez des problèmes à l'avenir, il est utile de le savoir.

Apprendre les bases

Vim, et par extension Neovim, ont la réputation d'être des logiciels difficiles à apprendre. Je dirais que c'est en grande partie faux. Certes, s'habituer à l'édition modale prend un peu de temps, mais au-delà de cela, apprendre les raccourcis clavier n'est pas plus compliqué que d'apprendre les raccourcis clavier dans n'importe quelle autre application.

Heureusement, Vim et Neovim sont tous deux dotés d'un didacticiel intégré pour vous montrer les ficelles du métier. Il y a trop de choses à apprendre sur Neovim pour pouvoir les couvrir dans le cadre de cet article, mais le didacticiel intégré est un excellent point de départ.

Pour commencer à apprendre, exécutez nvimen supposant que vous ne l'ayez pas fait, exécutez la commande suivante :

:Tutor 

Et bon, au moins, vous apprendrez à quitter le programme.

Configuration de Neovim

Contrairement à Vim standard, qui utilise un seul monolithique .vimrc fichier, Neovim peut utiliser une approche plus modulaire, en supposant que vous utilisiez des fichiers Lua. Cela n'a pas beaucoup d'impact sur les performances réelles de l'éditeur, mais cela aide à organiser votre configuration si vous utilisez beaucoup de personnalisations et de plugins.

Bien sûr, si vous êtes nouveau sur Neovim, vous n'aurez probablement pas beaucoup de personnalisations à ajouter pour le moment. Cela dit, si vous êtes intéressé par l'écriture de code Python, vous souhaiterez peut-être installer quelques plugins qui simplifient l'écriture de code Python. L'architecture modulaire de Neovim permet d'isoler facilement ces derniers dans leurs propres fichiers de configuration dans un sous-dossier, donc si vous décidez que vous n'aimez pas un certain fichier, il est facile de le supprimer de votre configuration.

Encore une fois, créer la configuration Neovim parfaite dépasse le cadre de cet article. Si vous êtes comme la plupart des gens, vous assemblerez probablement une configuration en récupérant des éléments de divers fichiers dotfiles que vous trouverez sur GitHub. Heureusement, il existe une option plus simple.

Personnaliser Neovim en toute simplicité

Au début, les gens partageaient leurs propres configurations, mais au fil des années, divers éditeurs ont vu apparaître des « distributions », pas tout à fait différentes des distributions Linux. Il en existe également pour Neovim, des fichiers de configuration préconfigurés que vous pouvez déposer dans votre répertoire personnel, tester, puis modifier à votre guise.

LazyVim et NvChad sont deux distributions Neovim très populaires. Si vous regardez les captures d'écran de l'une de ces distributions, vous serez peut-être surpris de constater que vous regardez toujours Neovim. Avec des icônes, une barre latérale et des onglets visuels en haut de l'écran, vous vous attendriez presque à regarder une capture d'écran de VS Code.

LazyVim a pour objectif d'être le plus complet possible, à tel point que si vous connaissez déjà Neovim, vous aurez peut-être l'impression que c'est différent. Cela dit, la distribution est idéale pour les débutants, avec un package intégré qui vous donne des conseils pratiques sur ce que fera le fait d'appuyer sur une touche donnée une fois que vous aurez commencé à saisir une combinaison de touches.

NvChad, en revanche, est un peu moins complet dès le départ, mais offre tout de même une expérience fortement modifiée par rapport à Neovim de base. Si vous voulez quelque chose qui ressemble à un éditeur moderne mais que vous voulez plonger un peu plus profondément dans les eaux de Neovim dès votre premier essai, essayez celui-ci.

Même si vous choisissez de commencer avec l'éditeur de base, Neovim et Vim valent la peine d'être appris, même si vous passez rapidement à d'autres éditeurs. On ne sait jamais quand il peut être utile de connaître une chose ou deux sur un éditeur de texte datant des années 1970.

★★★★★