Une introduction à LazyVim, une fantastique distribution Neovim
Si vous avez déjà géré une configuration pour un éditeur de texte extensible, vous saurez qu'il peut devenir un projet logiciel à part entière. En faire un désastre comme je l'ai fait signifie que l'ajout d'une nouvelle fonctionnalité vous fait peur. LazyVim résout ce problème avec des fonctionnalités impressionnantes, et je vais vous expliquer comment.
LazyVim séduit les utilisateurs de Neovim qui souhaitent quelque chose qui fonctionne sans effort. C'est comme un framework de configuration Neovim pour les outils IDE avancés. Les utilisateurs peuvent remplacer certaines parties de la configuration et apprendre les configurations de clavier au fur et à mesure. LazyVim est un IDE avec piles incluses et doté de fonctionnalités très pratiques.
La programmation sans coloration syntaxique ni complétion de code est rare de nos jours. Presque tous les IDE sont dotés de ces fonctionnalités, et LazyVim n'est pas différent. Il fournit le mécanisme permettant de configurer n'importe quel serveur de langage, formateur, linter ou débogueur à l'aide d'un outil appelé Mason (abordé ci-après). Les outils avancés s’installent en quelques secondes – un changement bienvenu par rapport à Vanilla Neovim, qui nécessite souvent une configuration manuelle.
Cette image montre la complétion du code en action.
LazyVim est en outre livré avec un Tree-sitter préconfiguré, un système d'analyse de texte rapide utilisé pour prendre en charge la coloration syntaxique et la manipulation de code. Il peut interagir avec et modifier des entités telles que des fonctions, des classes et des arguments en quelques pressions seulement.
Ici, j'échange la place de deux arguments de fonction. Déplacer et supprimer des fonctions et des classes entières sont des exemples supplémentaires de ce qui est possible.
Dans chaque IDE, une suite d'outils fournit un environnement riche en informations et en fonctionnalités. Ils donnent par exemple des pouvoirs supplémentaires aux fichiers Python et JavaScript. LazyVim est livré avec un programme d'installation d'outils préconfiguré appelé Mason. Avant Mason, les utilisateurs de Neovim configuraient manuellement les outils nouvellement installés – un problème persistant lorsqu'ils rencontraient un type de fichier pour la première fois. Désormais, LazyVim permet d'activer des outils avancés en seulement 30 secondes (intelligence linguistique, formateurs ou linters) avec des centaines d'options disponibles.
LazyVim fournit également des « extras », qui ressemblent à des profils de configuration. Il s'agit d'un ensemble d'outils harmonisés conçus pour différents contextes, tels que Python, le refactoring ou le débogage. Vous pouvez les activer avec le menu ou le fichier de configuration. Désormais, la configuration d'un environnement de programmation ressemble davantage à un IDE.
Sommaire
Complétitions de code extensibles avec clin d'œil.cmp
Neovim dispose de quelques plugins de complétion de code. Ceux-ci prédisent ce que vous tapez et affichent les choix dans un menu sélectionnable. L'offre unique de Blink par rapport aux autres réside dans ses performances. Il est écrit en Rust et offre des performances d'achèvement en millisecondes, ce qui était autrefois un problème pour Vim. De plus, il pardonne les erreurs en rapprochant les correspondances à l’aide d’un algorithme de recherche floue.
Vim, Neovim et LazyVim sont des termes distincts. LazyVim est construit sur Neovim, qui à son tour est un fork de Vim.
Blink n'est pas spécial et LazyVim est livré avec des alternatives préconfigurées (nvim-cmp en étant une). Cependant, il est rapide et livré avec des paramètres par défaut raisonnables, ce qui signifie moins de travail pour vous.
Reprenez rapidement là où vous vous étiez arrêté
Le « Lazy » dans « LazyVim » représente-t-il des personnes trop paresseuses pour configurer Neovim ? Pas tout à fait. À la base, LazyVim utilise un outil appelé lazy.nvim, qui est un gestionnaire de plugins à chargement paresseux. Le « chargement paresseux » signifie charger quelque chose uniquement lorsque cela est nécessaire, ce qui contraste avec le chargement hâtif (immédiat). Cela donne à LazyVim des temps de démarrage rapides, qui ne sont souvent que de quelques millisecondes.
LazyVim est également livré avec une gestion de session intégrée, ce qui signifie qu'il se souvient des tampons (fenêtres) que vous avez ouverts entre les redémarrages. Lorsque vous démarrez LazyVim, appuyer sur la touche S chargera votre session précédente.
En utilisant les deux fonctionnalités, il est possible de continuer là où vous vous étiez arrêté en un clin d'œil.
Recherchez rapidement n'importe quoi
La fonctionnalité la plus puissante de Neovim est sa vaste gamme de fonctions de recherche (via des plugins), mais elles nécessitent tout de même une configuration. LazyVim a fait le travail pour vous et propose 99 recherches différentes à l'aide d'un plugin appelé fzf-lua. Les exemples incluent la recherche de fichiers, de fichiers ou de lignes Git modifiés, les diagnostics LSP et même les recherches en texte intégral à l'aide de ripgrep. Peu importe ce que vous recherchez, fzf-lua le trouvera et vous amènera à la ligne exacte en utilisant une technique de recherche floue. Toutes les fonctions de recherche sont facilement liées à des clés et leur large utilité est la meilleure que j'ai jamais rencontrée.
Apprenez les mappages de touches au fur et à mesure
Les gens citent souvent le système complexe de mappage de touches comme la principale raison pour éviter Vim. LazyVim résout directement ce problème avec les menus contextuels pour les cartes clés. Voici comment cela fonctionne : lorsque vous appuyez sur une touche, les prochaines touches disponibles s'affichent dans un menu contextuel. Au fur et à mesure que vous appuyez sur plusieurs touches, de nouveaux menus remplacent les anciens. En effet, vous naviguez dans les menus en choisissant des options et en apprenant de nouvelles configurations de clavier au fur et à mesure.
Il n'est pas nécessaire de travailler sur les mappages de touches lorsque vous disposez d'un aide-mémoire intégré à votre flux de travail. Bientôt, cela devient la mémoire musculaire, le Saint Graal des utilisateurs de Vim.
5 raisons pour lesquelles j'utilise Neovim pour l'édition de texte sous Linux
Il n'y a pas de substitut.
Je n'ai fait qu'effleurer la surface, car LazyVim est livré avec une bonne liste de plugins. Les auteurs l'ont construit autour de l'idée d'extensibilité, et vos configurations personnalisées sont fusionnées dans les valeurs par défaut fournies. Cela signifie que vous pouvez tirer parti d'une distribution Neovim bien configurée et modifier chirurgicalement les options individuelles. Bien sûr, il s'agit toujours de Neovim, et il est possible de reconfigurer dans la même mesure. Il n’y a aucune barrière, seulement un ensemble de paramètres de base raisonnables.
Si vous redoutez l'ajout d'un formateur pour Python ou d'un linter pour JS parce que votre configuration Neovim n'est pas une machine bien huilée, alors essayez LazyVim. C'est facile à démarrer et c'est un jeu d'enfant à entretenir.
Si vous êtes intéressé, rendez-vous sur la page d'installation de LazyVim et suivez les instructions. Il nécessite l'installation de Neovim, qui est disponible dans les référentiels de logiciels de la plupart des distributions.
7 façons dont j'utilise NotebookLM pour me faciliter la vie
NotebookLM ne se limite pas à la simple collecte d'informations.
