Connexion
Abonnez-vous

Je suis allé à une réunion TupperVim : c’était génial et j’ai vite installé neovim

Ce n'est pas le chemin qui est difficile, c'est le difficile qui est le chemin

Je suis allé à une réunion TupperVim : c’était génial et j’ai vite installé neovim

Mercredi 12 mars, c’était une journée réunion d’équipe pour Next, à Nanterre, dans les locaux de moji. Mais ce même mercredi, c’était aussi une soirée TupperVIM au même endroit. Qu’à cela ne tienne, j'ai décidé de prolonger le séjour parisien pour rester sur place. Il faut dire que le programme faisait envie.

Le 19 mars à 10h47

Commençons par des présentations : Vim est un éditeur de texte « hautement configurable […] Il s’agit d’une version améliorée de l’éditeur vi distribuée avec la plupart des systèmes UNIX », peut-on lire sur le site officiel. Vim existe depuis plus de 20 ans et permet d’ajouter de nombreuses fonctionnalités pour éditer des fichiers dans un terminal.

On peut d’une certaine manière se rapprocher des fonctionnalités basiques d’un Visual Studio Code avec de la coloration du code par exemple. Il existe aussi un « émulateur Vim pour Visual Studio Code ». Vim fait ainsi office d’environnement de développement, pratique quand on est dans un terminal (via Putty par exemple).

Par des (gentils) nerds pour des nerds de tous les horizons

Sans grande surprise, « les TupperVim sont des évènements où l’on partage des connaissances et des astuces à propos de Vim ». Petit spoiler : la première astuce présentée est comment quitter Vim. Double spoiler : « :cq» ou « :wq » si vous voulez sauvegarder.

Mais les TupperVim c’est aussi (et surtout ?) autre chose. Ces réunions « s’inspirent autant des agapes maçonniques du troisième millénaire que des soirées tupperware des années 60. Tout un concept ». Sans oublier le plus important : « Passer un bon moment entre nerds, l’apéro faisant partie intégrante du concept ». On ne va pas se mentir, ce dernier point a commencé et fini de me convaincre de rester.

Il reste 80% de l'article à découvrir.

Déjà abonné ? Se connecter

Cadenas en colère - Contenu premium

Soutenez un journalisme indépendant,
libre de ton, sans pub et sans reproche.

Accédez en illimité aux articles

Profitez d'un média expert et unique

Intégrez la communauté et prenez part aux débats

Partagez des articles premium à vos contacts

Abonnez-vous

Commentaires (41)

votre avatar
Ahh VIM, étant sous windows depuis toujours je me rappel des bagarres (bienveillantes !) avec mon collègue admin Linux qui me soutenait que VIM : "C'est trop bien"

J'ai jamais compris...
votre avatar
Et bien moi (utilisateur VMS puis Unix avant de devenir utilisateurr Windows et Linux) je me rappelle qu'un collègue pur Windowsien, m'ayant vu utiliser gvim (disponible sous Windows), a décidé de l'utiliser.
votre avatar
On ne peut pas comprendre tant qu'on n'a pas essayé (vraiment).
Une fois qu'on a compris, on peut faire son choix, et prendre ce qui convient le mieux.
Vim n'est pas parfait, mais sa façon d'envisager l'édition est très intéressante.
votre avatar
Non plus.

J'ai regardé, j'ai conclu que l'investissement nécessaire pour le peu d'utilité que j'ai n'en vaut pas la peine. J'arrive très bien à m'en sortir avec 99.9% de vscode et 0.1% de nano.

Le problème avec un outil que l'on n'utilise pas beaucoup et qui nécessite de lire 3 tomes de manuels (guide de l'aventurier, guide du meneur et le guide des monstres, sans compter les extensions) pour commencer à l'utiliser c'est le cycle : j'en ai besoin, j'apprends à l'utiliser, je l'utilise, j'oublie comment l'utilisé.

https://xkcd.com/1343/
votre avatar
VIM ftw

Je l'utilise absolument tous les jours. La courbe d'apprentissage n'est pas évidente, et il faut des années de pratiques pour être "fluent" en vim. Mais une fois qu'on a son petit set de commandes, on peut vraiment aller très vite dans l'édition de fichier.

Petit truc perso, je n'utilise aucun plugin ou customisation et je me focus uniquement sur les fonctions de base (qui sont déjà énorme). De sorte que l'expérience soit toujours la même, quelque soit le serveur où je me connecte.
votre avatar
J'imagine tellement l'ambiance, ça donne envie d'y aller.
Visiblement, ça a été organisé à Paris, Lyon, Grenoble, Lille et Nantes.
votre avatar
"coloration syntaxique à la Visual Studio Code (chacun ses références…)"

Aaaaah, au secours. Que ce soit dans emacs ou dans Turbo Pascal, j'ai côtoyé de la coloration syntaxique depuis plus de 30 ans.
M'enfin, oui, en effet, on peut avoir l'impression que vim qui existe depuis 1991 a copié sur VS code qui existe depuis 2015 :D
votre avatar
Aaaah, Turbo Pascal ... que de souvenirs de prépa ...
votre avatar
Vous avez 2h pour écrire un programme qui affiche la courbe de pH d'une réaction chimique en Turbo Pascal... :kimouss:
votre avatar
Je précise bien chacun ses références, en l’occurrence les miennes :D J’ai en effet d’abord utilisé la coloration syntaxique dans VSC avant de « voir la lumière ». Et sinon j’avais aussi comme IDE pendant longtemps le bloc note, moins pratique :D
votre avatar
Je n'ai qu'une chose à dire: emacs.
votre avatar
J'utilise les 2, parce qu'il y a des choses que je sais faire dans l'un et pas dans l'autre (et réciproquement).
Peut-être que ce je ne sais pas faire existe, mais en passant de l'un à l'autre, j'évite de l'apprentissage (flemme)
votre avatar
Il n'a pas fallu attendre longtemps pour prononcer le nom de l'éditeur pour lequel il faut utiliser trop de doigts en même temps !

Vi (et vim) forever !
votre avatar
Mouaip, entre vim et emacs, je préfère vim. Mais à vrai dire, le côté brut de décoffrage de ce style d'éditeur m'a toujours rebuté.
C'est un peu comme un roguelike pour moi.
Je commence sans avoir aucun équipement, je découvre de nouvelles commandes, je configure, puis je finis invariablement par ne pas être content parce que le tout me semble bancal.
Et comme avec un roguelike, je recommence un nouveau run.
Le côté construction kit jamais achevé, jamais satisfaisant a toujours fini par me lasser.
J'ai le même problème avec VSCode...
votre avatar
Bienvenue dans le monde merveilleux de NeoVim. Merci d'avoir relaté ton aventure, ça donne envie !

Utilisateur de longue date, je me permets une précision :
:saveas ouvre le fichier enregistré dans le buffer courant, on se retrouve donc à éditer le fichier dont le chemin a été passé à saveas. Ainsi les :w suivants écriront le fichier dont le chemin a été passé à saveas.

:w écrit le fichier dont le chemin a été passé, mais ne change pas le buffer courant. Les :w suivants écriront donc le fichier courant.

Autre recommandation pour tous les curieux de [neo]vim : https://pragprog.com/titles/dnvim2/practical-vim-second-edition/ (dans la langue de Shakespeare)
Organisé sous format de conseils assez court, il présente de manière très claire les capacités de l'éditeur. Les débutants comme les vieux de la vieille y trouveront leur compte.
votre avatar
Seule constante : tout se passe en ligne de commande dans un terminal.
:cap:
votre avatar
J'ai longtemps utilisé vim (pas de manière avancée), puis je suis passé à nano, qui suffit à mes besoins. C'est préinstallé partout et plus user-friendly.
votre avatar
Pour moi, c'est "nano" et rien d'autres.
Je peux pas être obligé de redémarrer le PC à chaque fois que j'édite un fichier avec vi/vim :transpi:
@Jarodd a déjà fait la référence, donc autant voir son post :p
votre avatar
I love /usr/bin/vi
votre avatar
Sinon, y a que moi qui quitte vim par :x quand je veux enregistrer les modifications et par :q! sinon ?

Certains utilisent ZZ dans le premier cas et je ne sais plus quoi dans l'autre.
Ayant commencé avec un éditeur ligne sur un télétype (clavier + imprimante papier pour les plus jeunes), j'ai toujours apprécié les commandes de vi/vim tirées des éditeurs lignes ed/ex. Elles font une bonne partie de la puissance de l'éditeur pour faire des trucs complexes.
votre avatar
moi je fais :wq et :q!, chacun son style :phibee:
votre avatar
Pareil, et parfois :cq notamment quand vi est lancé depuis un script: ça permet d'annuler l'action, puisque cq renvoie un code d'erreur contrairement à q!
votre avatar
J'utilise aussi :x pour quitter en enregistrant, mais c'est pas la même chose que :wq

Si tu édites un nouveau fichier, que tu ne fais rien dedans:
:wq va créer le fichier et quitter
:x "va se dire" que rien n'a été modifié et donc va juste quitter

résultat: avec :x, aucun fichier n'a été créé sur le filesystem, alors qu'avec :wq, t'auras un fichier vide.
votre avatar
Tiens, j'ai appris un truc. En y réfléchissant, c'est logique : ça enchaîne 2 opérations l'écriture puis quitter l'éditeur et c'est la première qui crée le fichier.

C'est malin, j'ai voulu repasser en mode commande de vi à la fin de mon commentaire et j'ai appuyé sur escape (comme quoi, le cerveau est étrange : sur un sujet sur vi/vim, il me fait reprendre les réflexes de cet éditeur !) qui évidement m'a fait perdre mon commentaire ! Heureusement que j'ai une extension (form history control) pour récupérer ce genre de mésaventures !
votre avatar
Moi, je suis un peu parano donc je fais pas confiance à :x et pour quitter en enregistrant, je vais :w puis :q
Si vim quitte sans râler, c'est que ça a bien sauvegardé :transpi:
votre avatar
Petit spoiler : la première astuce présentée est comment quitter Vim. Double spoiler : « :cq» ou « :wq » si vous voulez sauvegarder.
On rigole, mais il y a quelques années j’avais fait la fameuse recherche « comment quitter Vim ». Autant dire que j’étais déjà un gros caneton.
Comment ne pas citer THE référence (qui commence à dater aussi) :

https://www.commitstrip.com/fr/2017/05/29/trapped/
votre avatar
Rhooo merci, je ne connaissais pas ce CS ^^
votre avatar
Est-ce qu'il y avait au moins quelques Tupperware à cette réunion ? :D
J'utilise rarement vi/vim et je galère au moment venu.
Encore pas si longtemps sur une fresh install de Home Assistant, vi sur le fichier de conf.yaml en... qwerty :oops:
votre avatar
C'est rafraichissant de lire ces commentaire de nerds nostalgiques.

Perso vi, ça date de la fin des années 90, debut 2000 quand j'essayais de faire comme tout le monde, trouver Linux génial.
Je dois avouer que j'ai lamentablement échoué pour les 2.
Et pourtant, ma carrière ayant débuté par pisser de la ligne de code à partir de 1986, les éditeurs de texte/fichiers plus ou moins pourraves, je crois en avoir vu quelques uns.
Aucun n'a réussi à m'horripiler plus que vi.

Je suis, normalement, adepte des jeux intellos, mais là... je n'ai jamais réussi à le comprendre celui là ni le bonheur que pouvaient éprouver les adeptes à ne pas voir directement à l'écran le résultat de leurs modifications.

Désolé si je casse un peu l'ambiance, ce n'est pas le but du jeu, je ne critique pas vi, je dis juste que je fais partie de ceux, nombreux, qui n'ont pas réussi à en comprendre les bienfaits, ni même réussi à en voir un, d'ailleurs.
votre avatar
C'est assez surprenant : j'ai commencé à bosser un an avant toi, à l'époque sur VAX sous VMS dont je ne me souviens pas trop de l'éditeur mais qui ne me laisse pas de mauvais souvenirs.
Tu étais sur quel(s) OS avec quel(s) éditeur(s) avant de t'essayer à vi/Linux ?

Après quelques années sous VMS, je suis passé directement sur Unix (largement avant que Linux soit populaire et probablement un peu avant qu'il existe), donc, à l'époque, c'était forcément vi, Emacs pour quelques uns qui l'installaient. C'est peut-être pour ça que l'on a une expérience différente de vi.
Pendant tout ce temps, c'était avec des terminaux VT100 (pour les VAX) ou des équivalents pour Unix.
Je me demande quel éditeur de texte à cette époque avait ta préférence.

Par contre, pourquoi dis-tu :
ne pas voir directement à l'écran le résultat de leurs modifications
On les voit bien à l'écran les modifications.
votre avatar
J'ai commencé sur des systèmes CP-M, me souviens plus du nom du fabricant, mais l'edition des sources était, plus ou moins, un équivalent à edit sous MS-DOS. (une autre tannée au passage)

Suis ensuite passé sur PC où j'utilisais un éditeur IBM qui m'a beaucoup plu et que j'ai continué à utiliser longtemps après pour des développements sur Dbase3 ou Clipper (pour ceux qui en ont entendu parler)
Ma fonctionnalité préférée de cet éditeur était la sélection de blocs dans une page, fort pratique quand on souhaite répliquer ailleurs une partie seulement d'un ensemble de lignes.
Editeur que j'ai plus ou moins retrouvé quand je suis passé sur les systèmes IBM 36/38/400

Concernant vi, c'etait dans le cadre d'une formation à UNIX, en 2001 de mémoire. Plus de 10 ans plus tard donc. Windows 2000 était sorti, les Macs revenaient à la vie, etc...
Une semaine passée à découvrir le système que je ne connaissais pas du tout.

Pour modifier les fichiers de commande qui nous servaient d'apprentissage du système, le formateur nous disait d'utiliser vi.
Si j'ai bonne mémoire, une fois vi lancé, on avait un bel écran noir du genre de WordPerfect, si quelqu'un s'en souvient.

Pour voir le contenu du fichier qu'on voulait éditer, nous devions taper une commande.
Tout le reste consistait à "appeler" la ligne qu'on voulait modifier, effectuer la modif puis réafficher le fichier pour voir ce que ça donnait.
Ca a duré une semaine comme ça.
Bref... ça m'a carrément dégoûté parce que j'étais depuis passé soit par des environnmeents ligne de commande mais avec des éditeurs pleine page ou par des environnements Windows ou Mac, qui poussaient le confort un poil plus loin.

Alors, certes, on parle d'édition de fichiers avec Vi, pas d'une simple édition de texte, mais je pense que ça ne change rien au fait que, pour moi, c'est resté un truc d'un autre âge dont on ne pouvait s'enticher que si on aimait se faire du mal ou qu'on n'avait pas de délais à respecter pour rendre son travail.

Je comprends que ce soit un jugement à l'emporte pièce, mais ça a fait que les systèmes Unix, je n'y a i jamais pris goût.
votre avatar
Merci pour le retour.

Par contre, je ne comprend pas ta description du comportement de vi. Il affiche directement les premières lignes d'un fichier sans que l'on ait besoin de taper une commande et affiche le fichier modifié tout seul après une modification.

Ça ressemble au mode éditeur de ligne de vi que l'on obtient par défaut en tapant ex (et pas vi) pour éditer un fichier. C'est comme si le mode vi était désactivé parce que le $TERM n'était pas défini et que l'éditeur ne savait donc pas afficher en plein écran et qu'il passait donc en mode ex.

Mais, effectivement, en 2001, on avait des éditeurs plus conviviaux que vi.

Ce que tu as vu n'était pas l'utilisation standard de vi et je comprends que ça rebutait en 2001. C'était proche de l'éditeur ligne que j'ai utilisé en l'école d'ingé en 1981.
votre avatar
Je comprends des discussions ici que vi est, après tout, une histoire de customisation à la convenance de l'utilisateur.
Vu la ferveur des réponses du formateur quand on lui posait des questions ou qu'on parlait de nos doutes sur ce qu'on voyait, je ne serais pas surpris que ce fut le cas. On a tous utilisé le mot fanatique pour qualifier le formateur pendant les pauses café.
Il n'est pas impossible que la formation se faisait avec la config "perso" du gars.

Quoi qu'il en soit, le mal fut fait pour ce qui me concerne.
Mes expériences/ratages ultérieurs avec l'installation de distributions Linux sur mes PC ont fini par me séparer définitivement de ce monde.

Mais, comme je le disais au début, c'est rafraichissant de lire les commentaires des contributeurs et voir l'affection qu'ils peuvent avoir pour l'outil. Ils n'ont juste pas du avoir le même formateur que moi à leurs débuts.
votre avatar
Au delà d'être un éditeur de texte très barebones et donc très customisable pour peu qu'on s'y plonge.

Vim c'est une sorte de "méta" language pour modifier du texte
Bien sûr tu pourrais sélectionner une portion de texte avec shift + 15 fois flèche droite ou ta souris et c'est simple de se rappeler de ça

Mais si tu passes littéralement ton temps a éditer du code, ce n'est pas du texte que tu édites, mais des noeuds dans un AST, tu manipules des text objects.

Si on arrête de penser lettres par lettres et qu'on voit chaque élément pour ce qu'il représente réellement dans le flux d'exécution d'un programme et pas juste un assemblage de lettres on commence a voir la chose sous un angle différent.

A partir de ce moment la on comprendra aisément que le combo ciw pour change inner word puisse paraître plus élégant et efficace pour modifier son code

Ainsi l'acte d'édition se transforme en une valse qui appelle et associe des commandes, des text-objects, des répétitions etc

La syntaxe est difficile a assimiler mais une fois que c'est fait on se rend compte qu'en fait c'est juste des raccourcis pour les tâches les plus courantes d'éditions de code, transformé en un langage ou on converse avec son éditeur pour lui dire précisément et succinctement quels changements faire sur le code.
votre avatar
C'est beau <3
votre avatar
Alors comment dire que je suis encore à 10 000 lieux de ça ^̂
Mais à vous voir faire, ça donne envie :D
votre avatar
Oui c'est ça ! Mais egalement ce temps de réflexion sur le pourquoi évite des erreurs style erase sur sélection faciles à effectuer avec un éditeur purement graphique (notepad++), parce que tu prépares ton action. Et ca évite pas mal d'erreurs mine de rien.
votre avatar
Alors petit raccourci de raccourcis au lieu de faire un :wq, un :x fait la même chose !
Et personnellement je conseille aussi très fortement mobaXterm application française pour de la connexion aux serveurs qui gère tous les protocoles et qui simplifie grandement l'administration de serveurs !
votre avatar
votre avatar
Ben oui mais non, c'est pas une histoire de raccourci, moi j'ai déjà paumé des saisies en me gourant de commandes, donc je fais des :w à tout va, et en faisant :wq je me "prouve" que je sors mais en ayant sauvegardé. Ca me rassure. Chacun son vécu.
votre avatar
Ah que d’enthousiasme, de fougue, que dis-je, de frénésie, pour un….
Éditeur de texte. :D

Dans la vibrante et ondulatoire merde que le monde charrie en ce moment, ça fait plaisir à lire.

Je suis allé à une réunion TupperVim : c’était génial et j’ai vite installé neovim

  • Par des (gentils) nerds pour des nerds de tous les horizons

  • Je tente d’activer le mode camouflage pour faire genre…

  • Tout le monde apprend et découvre, même un vieux de la vieille

  • Plug-ins, distributions… neovim se personnalise de ouf

  • DrawIt : un Snake dont vous êtes le héros pour « dessiner »

  • liquid prompt, Mutt : les autres découvertes de la soirée

  • Déjà la fin de la soirée… promis, je reviendrai !

Fermer