Vim & IDEs
Explications des différents éléments d'un IDE et quelques conseils de configuration et d'utilisation de Vim.
Les éditeurs de texte
Généralement, les éditeurs de texte sont simples. Mais pour ce qui est de la programmation, nous avons rapidement besoin de fonctionnalités supplémentaires, ce qui revient le plus souvent est :
De la coloration syntaxique
Un debuggueur
Un hinter (conseils, suggestions, mises en valeur d'erreurs de syntaxe)
De la Complétion (snippets, auto-complétion de mots, des suggestions IA)
Les environnements de travails prévoyant ce genre de fonctionnalités de manière native sont appelés des IDE. Vous vous en doutez, les debuggers, snippets, hinters, sont propres à chaque langage. Un IDE n'est alors pas forcément fait pour coder dans n'importe quel langage.
Vim
Plusieurs IDE existent, personnellement je préfère en utiliser un seul et bien le maîtriser. Mon choix s'est porté sur NeoVim, un fork de Vim. En raison du gain apporté par les raccourcis Vim qui permettent d'améliorer la vitesse de travail, surtout sans souris, ainsi que sa flexibilité. En effet, cet éditeur de texte permet d'installer facilement et de manière très extensible et légère, beaucoup de plugins permettant d'en faire un IDE pour n'importe quel langage.
Les raccourcis
Les raccourcis Vim peuvent être impressionnants à première vue, mais ils ont une logique qui, une fois intégrée, est facile à utiliser sans avoir besoin de retenir des centaines de combinaisons par cœur. Il faut bien comprendre qu'il y a 3 modes, le mode NORMAL, le mode INSERT et le mode VISUAL. Le mode VISUAL permet de sélectionner des zones avec le curseur, afin de faire différentes opérations avec la sélection concernée. Le mode INSERT permet d'insérer des caractères, donc de passer en écriture sur le document. Le mode NORMAL permet d'avoir accès aux commandes et différents raccourcis qui ne sont en lien ni avec le mode INSERT ni avec le mode VISUAL.
Voici la liste des raccourcis que j'utilise très régulièrement, ordonnés de manière "logique" :
Modes
i #Insert mode
a #Insert mode en avançant d'un caractère
o #Insert mode avec un retour à la ligne automatique
v #Visual mode
^c #Normal modeGestion de fichiers
Remplacement
Déplacement
Scrolling
Sélection
Manipulations
Les composants d'IDE
Il existe plusieurs mots de vocabulaires autour des fonctionnalités d'un IDE. Vous avez besoin d'être familiarisés avec ces derniers afin de configurer votre Vim correctement :
LSP (Language Service Provider)
Permet de fournir des informations diverses comme des conseils, des alertes ainsi que des suggestions en lisant notre code et en le comprenant ainsi que de vérifier la bonne importation de modules externes (autres fichiers), etc..
Parser
Permet d'analyser le contenu d'un fichier voire de plusieurs fichiers afin de déterminer l'indentation, le highlight ainsi que des erreurs de syntaxe de base.
Hinter
Souvent contenu dans un LSP, permet d'obtenir des conseils et des alertes sur notre code.
Debugger
Permet de vérifier si notre code est compilable et met à disposition certains outils afin d'analyser plus en profondeur les erreurs.
Snippets
Des suggestions par complétion pour aider à la rapidité d'écriture du code.
Mes plugins favoris
Pour ces différents besoins, j'ai quelques suggestions de plugins que vous pouvez utiliser, voici ceux que j'utilise et que je conseille :
Pour LSP & Hinters & Debuggers. On les installe avec Mason, en fonction du langage dont on a besoin.
C'est un parser qui améliore le highlight et l'indentation. Il a une commande TSInstall pour installer facilement le parser pour le langage de notre choix.
Une très grande bibliothèque de snippets pour tous les langages les plus populaires.
Ces plugins sont pratiques car ils permettent d'installer facilement et depuis l'éditeur de texte directement, les fonctionnalités dont nous avons besoin sans dénicher et installer de nouveaux plugins manuellement. Ce qui rend l'installation légère et très polyvalente.
Les distributions NeoVim
Un énorme inconvénient pour moi, qui, j'en ai conscience, représente un avantage pour certains, c'est l'enfer de la personnalisation. Tout est personnalisable, tout est configurable pour répondre à nos exigeances. Sauf que j'aime utiliser un éditeur de texte de manière efficace sans perdre plusieurs heures à devoir le configurer pour le rendre fonctionnel.
Pour palier à ce problème, qui est le seul que j'ai trouvé à Vim, c'est d'utiliser des distributions. En effet, certains projets ont émergés pour résoudre ce problème. Des configurations déjà faites, très extensibles et fonctionnelles out-of-the-box ! Voici la liste des distributions les plus populaires :
NVChad (celui que j'utilise)
Exemple de .vimrc
Le fichier .vimrc dans votre dossier /home est essentiel si vous n'utilisez pas distribution. Voici un petit exemple de fichier .vimrc pour vous aider à mettre en place une configuration minimale :
Mis à jour