J'utilise Vim, et vous ?

Quel est votre logiciel préféré pour développer ?

Le problème exposé dans ce sujet a été résolu.

Introduction

Ici nous allons parler du logiciel principal que vous (les développeurs) utilisez pour développer. Bien souvent c’est l'IDE ou encore un simple éditeur de fichier.

Le but de ce billet n’est pas de débattre pour choisir quels outils est meilleur que l’autre. Nous cherchons à faire une discussion légère afin d’échanger sur les raisons de votre choix.

Dire qu’un outil est mieux qu’un autre parce que ce dernier comporte une fonctionnalité que vous préférez est identique à dire qu’une couleur est meilleure qu’une autre parce que vous la préférez.

Mes besoins

Lorsque j’ai fait mes premiers pas dans le domaine du développement j’ai appris presque parallèlement un peu de Bash, du Python et du JavaScritp (Node).
En suivant les conseils des gens qui m’entouraient à ce moment là, je me suis orienté vers un outil qui permet d’être polyvalent. Le but était de ne pas appendre 3 outils différents pour travailler en plus d’apprendre à maitriser les outils pour réaliser mes projets (les langages de programmation).
En plus de cela on m’a orienté vers un outil extensible afin de pouvoir ajouté de fonctionnalités selon mes besoins.

Ma problématique (la souris)

Depuis que j’utilise un ordinateur (environ quand je suis entré au lycée, il y a environ 10 ans) quelque chose me génais. C’était la souris. Ce que je n’aime pas est le fait de passer ma main du clavier à la souris.

Bien sûr il existe des solutions pour ne pas déplacer sa main entre le clavier et la souris. On peut penser au RollerMouse ou SliderMouse mais ce n’est pas le sujet ici.

J’étais donc déjà convaincu par l’utilisation du terminal qui me permettais d’utiliser uniquement mon clavier pour utiliser mon ordinateur.

Vim

Suite à mes besoins et comment je souhaitais utiliser mon ordinateur, Vim semblait être l’outil approprié.
J’ai commencé à utiliser cet outil dès mes débuts dans l’informatique (au moment où je me suis intéressé à Linux, il y a environ 10 ans).
Bien sûr je me suis cassé les dents, car la courbe de progression de Vim commence par un mur de 2m à escalader tandis que nous savons pas encore marcher.
Maintenant, après plusieurs années à utiliser cet outil (pendant toutes mes études et aujourd’hui quotidiennement au travail ou pour mes projets personnels) il me permet de développer très rapidement.

Ce qui me plaît le plus dans cet outil est le fait de pouvoir naviguer dans mes projets rapidement sans lever les mains de mon clavier.
En plus de cela il met à disposition des commandes pour effectuer rapidement des actions complexes.

Non, je ne veux pas de votre extension

Certains me diront de me diriger vers des outils comme VSC ou IntelliJ et d’y ajouter l’extension qui va bien pour avoir les fonctionnalités de Vim dans des outils plus modernes.
C’est un compromis que j’ai essayé pendant plusieurs mois. J’ai cependant constaté deux soucis.

Le premier est que les extensions ont une limite. Certaines fonctionnalités n’étaient pas implémentées lorsque je les ai essayé (je pense aux commandes de substitution). J’ai donc trouvé comme alternative d’utiliser les raccourcis claviers des outils plus modernes.

La seconde est que les outils plus modernes sont conçus avec les interfaces modernes, donc avec l’utilisation de la souris. De ce fait les raccourcis ne me semblent pas intuitifs ou plus complexes à utiliser. J’étais moins à l’aise pour utiliser ces outils.

À chaque fois, je suis donc retourné à Vim.

Conclusion

J’utilise Vim car il me permet de développer avec de multiples technologies le tout sans lever les mains de mon clavier (pas même pour toucher à la souris). :D


Et vous ? Quel est votre outil de développement préféré et pourquoi vous avez choisi celui-ci ?

+0 -0

Salut,

Pour ma part j’aime bien utiliser des IDE spécialisés ou officiellement recommandés dans la techno que j’utilise.
Ainsi j’utilise principalement QtCreator car mes projets professionnels sont principalement Qt.
J’utilise Android studio dans mes experiences Kotlin/Java ciblant Android.
J’utilise VS Codium avec l’extension rust-analyser pour rust.
J’utilise Bracket pour faire du développement web.

Pour traiter ponctuellement des fichiers de conf, des petits codes, des petites docs, j’utilise des éditeurs plus généraliste : notepad++, VS Codium ou NeoVim.
J’utilise parfois vim voir même vi car installé par défaut sur beaucoup de systèmes linux, incluant des serveurs et des plateformes embarquées, mais je trouve l’idée de neovim d’intégrer un vrai langage de programmation plutôt que du vimscript maison très intéressante et en plus j’aime Lua. (de la même façon que je trouve xmake très intéressant pour gérer les projets c++ mais je continue d’utiliser cmake car c’est le standard de facto)
J’utilise d’ailleurs ZeroBrane Studio pour Lua.

Je suis peu attaché à mes raccourcis clavier et je préfère profiter d’une intégration maximale des outils qui peuvent m’être utile plutôt que de batailler avec des configurations et une ergonomie moins adaptée à chaque fois.

+2 -0

Pour développer, j’utilise principalement Vim, avec le plugin fuGitive, pour l’intégration git, et Elixir, qui indexe le code sur plusieurs branches. En fait j’utilise l’instance Elixir hébergée par Bootlin.

La conséquence, c’est que ça marche très bien pour mes besoins habituels, avec parfois 6 codes ouverts en même temps sur le même écran (pas forcément dans des fichiers différents), mais par contre je deviens moins efficace quand il s’agit de travailler sur les projets internes de ma boite: ils sont en C++, on n’a pas d’indexation partagée, et je n’ai rien dans Vim pour indexer toute la base de code. Quand je cherche à tracer des dépendances, ça passe souvent à coup de grep. Ça marche quand même bien parce que la base de code est bien organisée, les règles de codages appliquées strictement, et le code assez bien compartimenté, donc je m’en sors sans outil comprenant la syntaxe du C++, mais c’est un peu rustique.

A ce jour, ça marche suffisamment bien pour que je garde 3 outils indépendants (le 3eme étant le build) sans chercher à tout intégrer en 1.

Hello @pyoroalb,

ZdS propose une fonctionnalité de billets pour publier ce type de contenus au bon endroit/format, plutôt que de risquer qu’il ne se retrouver perdu dans les tréfonds du forum. ;)

Tu en as d’ailleurs déjà publié : https://zestedesavoir.com/billets/voir/pyoroalb/

N’hésite pas à recopier ton post sous forme de billet et à poster le lien dans le premier message de ce topic, on pourra fermer le topic ensuite pour être sûr de garder la conversation en commentaire du billet.

Ce sujet est verrouillé.