J'ai arrêté d'utiliser ma souris pour coder (et je ne reviendrai pas en arrière)

user avatar

Wassim

vendredi 10 avril 2026 à 18:44

Trop de boutons, trop de raccourcis différents par IDE et par OS. J'ai tout plaqué pour Zed + Vim : rapide, minimaliste, et surtout keyboard-only. Mon retour d'expérience après 1 an.

J'ai arrêté d'utiliser ma souris pour coder (et je ne reviendrai pas en arrière)

Il n'y a pas que l'IA qui fait gagner en productivité !

Depuis quelque temps, je n'arrivais plus à me sentir à l'aise sur mon IDE favori : IntelliJ. Trop de features, démarrage très lent (on parle de ~10 sec pour une première interaction), beaucoup de "bruit" avec des modales, des sous-menus à rallonge, des toasts qui t'informent qu'un service a crashé, des tabs et j'en passe… Sans parler de la heap de 2 Go à vide et qui est insuffisante sur du projet sérieux.

Récemment, en travaillant, sur un gros site ecomm, les perfs n'étaient pas au rendez-vous (indexation interminable, eslint qui met trois plombes, etc.).

Un autre aspect qui m'embêtait concernait la dépendance au "Vendor" JetBrains. Je devenais dépendant aux features d'IntelliJ !
Un bouton pour lancer les tests, un autre pour créer une connexion à la DB, et puis y a cette UI pour faire les commits et le Rebase interactifs, les services pour gérer ton cluster K8S, tes Dockers, tes HTTP etc, etc.

Le déclic : le "mousing"

C'est là que j'ai réalisé ce qui me faisait vraiment perdre du temps : vouloir utiliser des boutons pour tout.

À force de vouloir tout rendre accessible en un clic, on finit par créer une interface qui nous dicte comment travailler. Cette omniprésence de l'UI m'a conduit au constat du "mousing".

Après toutes ces années, je ne veux plus utiliser la souris, ou plutôt l'utiliser beaucoup, beaucoup moins, surtout quand je code ! Au-delà du manque de précision, je trouve que le temps perdu avec le switch clavier-souris est considérable, et notamment une interruption de la cognition.

Je code, je code, je code, ah ! Il faut supprimer cette fonction, switch souris, sélection du bloc, backspace, re-switch clavier. C'est bête, mais si vous prenez 500ms pour switcher vers la souris et que vous le faites ~50 fois par jour, sur une année, c'est quelques heures de gagnées !

Je sais qu'il y a plein de raccourcis, et j'en utilise un paquet, par exemple : Ctrl + W pour étendre une sélection, cool !
Eh bah, pas tant que ça, car sur macOS, c'est cmd + w. Pour sélectionner l'occurrence suivante c'est Alt + j, sur mac ctrl + g. Vous voyez où je veux en venir ?

Ce n'est pas rentable de mémoriser des dizaines de raccourcis spécifiques à un IDE.

La quête de l'alternative

Je me lance donc à la recherche d'un nouvel IDE qui me libérerait de cette dépendance au vendor, et dont je pourrais user des raccourcis de façon agnostique de l'OS.

VS Code : pas mieux

J'ai commencé par le plus classique : VS Code. Après tout, c'est l'alternative évidente quand on quitte JetBrains, non ?

Eh bien… l'interface est tout aussi fournie que celle de JetBrains, on ne sait pas où poser le regard. Je ne suis pas plus avancé, mais ce n'est pas bien grave.

Après quelques jours d'essais et une dizaine d'extensions, j'en revenais encore au même point. Je sentais une certaine lourdeur, que notre IDE a fait une prise de masse trop rapide. À tel point que chez moi, l'extension Prettier mettait ~140 ms à charger, c'est fou !

Mais au-delà, ça ne réglait pas mes problèmes initiaux : le mousing et le bruit visuel. Au début, je voulais garder les raccourcis par défauts, puis j'ai vu que pour faire une ligne de commentaire, il fallait Ctrl+K Ctrl+C, j'ai lâché l'affaire.

Je continuais mes recherches sur le mousing et je retombais souvent sur Vim comme éditeur ultime pour l'efficience ! Appréhender Vim, n'est pas une mince affaire et surtout le temps nécessaire pour devenir efficace.

Donc, je faisais semblant de rien voir devant moi... et hop, je continuais mon chemin.

La découverte : Zed

En parallèle, j'ai découvert Zed Industries, entreprise fondée par le créateur d'Atom. Elle développe un IDE en Rust, minimaliste, IA Friendly, polyglotte et surtout rapide ! Très rapide !

Il y a deux trucs qui m'ont accroché : minimaliste et rapide.

Ni une, ni deux, je l'installe sur mes machines. Et bon dieu, quelle surprise ! Ouverture quasi instantanée, les interactions sont snappy, l'interface est très jolie ! Toutes les icônes utiles sont placées en bas, de part et d'autres de l'écran, et c'est tout. Le thème est light par défaut (un bon choix aussi). Je code souvent pendant la journée et le thème sombre a tendance à m'éclater les yeux.

Bien sûr, il fallait installer le LSP, plutôt facile avec les extensions. J'y trouvais un juste milieu entre JetBrains, VS Code et le Terminal. Bien entendu, l'outil n'est pas encore mature, mais ça ne me dérangeait pas du tout… Pour vous dire, ça fait presque une année que je suis dessus !

Tu n'as pas un bouton pour lancer directement ton main Java ?" C'est pas grave, un petit ./mvnw spring-boot:run dans le terminal et c'est réglé. "Un bouton pour lancer les tests ?" Pareil, ./mvnw test et hop. (ça a été rajouté depuis dans Zed de toute façon).

Zed m'a poussé à refaire mes bases, et à utiliser mes outils directement, sans interface et sans mauvais jeux de mots :P

Ayant traité cette affaire d'UI surchargée, je me concentre sur ma deuxième source de soucis.

Le grand saut : Vim mode

Après quelques semaines sur Zed, j'ai décidé de passer à la vitesse supérieure. J'ai fait simple : j'ai décidé de prendre le taureau par les cornes et d'activer le Vim mode sur Zed.

Certes, Vim va demander beaucoup d'apprentissage et de mémorisation, mais Vim est indépendant du vendor ET de l'OS. Que ça soit sur mon VPS ou sur mon Macbook de la mort qui tue, je me sentirai toujours à l'aise.

Alors… les trois premiers jours étaient frustrants. On veut tout de suite aller chercher la souris, car on ne connaît pas le bon mouvement, ou on veut vite basculer en mode insertion pour travailler dans notre zone de confort, souris + clavier ! Bref, le naturel essaie de revenir en voiture de F1.

J'essayais de me rendre compte du moment où je voulais aller chercher la souris, et de me dire non, on le tente en mode Vim.

Et puis y a eu le déclic : la touche %.

Ça peut paraître anodin, mais cette simple touche qui permet d'aller à la prochaine parenthèse fermante a tout changé. C'est là que j'ai compris : les déplacements verticaux, sans scroller, avec une précision de chirurgien ! Sauter d'une fonction à une autre, aller vers une ligne exacte, aller au début du fichier, à la fin, au milieu, centrer le curseur, etc. Et tout ça, sans jamais déplacer mes mains du clavier.

Bien sûr, comme tout le monde, j'avais commencé par apprendre les bases : H, J, K, L, w, b, $, 0 pour se déplacer. Et puis i, dd, y, yy, x, c et p pour l'édition. Mais c'est vraiment le % qui m'a fait comprendre la puissance de Vim.

Exemple concret : supprimer le corps d'une fonction pour la réécrire.
Je passais de :

  • prendre la souris
  • scroller pour retrouver ma fonction ou Alt+7 sur Intellij
  • positionner le curseur au début de l'accolade
  • sélectionner à la souris
  • puis clavier -> Backspace.

À littéralement :

  • gs nom de ma fonction
  • f { vi% c

Et je n'ai fait qu'effleurer la surface, car je ne suis pas un expert, loin de là. Et puis on peut combiner plein de touches, par exemples :

  • copier le corps d'une fonction yi{
  • modifier les arguments d'une fonction ci(
  • aller 100 lignes vers le haut 100k (et non ce n'est pas mon salaire annuel :/)

On s'habitue tellement au mode Vim que l'on souhaite l'avoir partout ! Navigateur, terminal, OS, partout je vous dis !

Mais cela sera pour un prochain article !