Comment puis-je inspirer les autres à utiliser vi / Vim?

37

J'ai été extrêmement impressionné par la puissance de vi dès la première demi-heure d'utilisation. J'ai ensuite découvert que dans certains environnements de travail, de nombreuses personnes (techniciens, et même administrateurs système!) L'évitent comme étant "trop ​​compliqué" sans avoir jamais exécuté le logiciel vimtutor, et d'autres encore n'utilisant vi qu'en mode insertion et manquer le but de l'édition modale.

Comment puis-je démontrer le pouvoir de vi / Vim à d'autres de manière à les inciter à l'apprendre et à l'utiliser?

Je suis particulièrement intéressé par toutes les histoires de ce qui a réussi à amener les autres (ou vous-même) à apprendre et à utiliser Vim.

Wildcard
la source
4
J'ai lu les lignes directrices sur des questions subjectives et je pense que cela convient.
Wildcard
@Wildcard peut-être que cela convient aux questions subjectives, mais c'est vraiment trop large. Voir meta.vi.stackexchange.com/q/1278/205 pour une discussion que nous avons eue sur une question similaire "subjective".
muru
Je vois ce que tu veux dire. J'ai lu cette discussion (et plusieurs discussions liées). Je pense toujours que cette question est appropriée, mais je ne pense pas que je suis censée en discuter ici; Y a-t-il un endroit dans la méta où nous devrions en discuter?
Wildcard
@Wildcard vous pouvez toujours poster une question sur Vi et Vim Meta à propos de cette question.
muru
1
@Rich Voici un exemple d'un article de ce genre: Pourquoi j'aime Vim: Ce sont les fonctionnalités moins connues qui le rendent si incroyable .
Serge Stroobandt

Réponses:

54

Bien que j'aie investi certains efforts dans Vim et son écosystème, je ne cherche pas activement à en convertir d'autres. La plupart des personnes avec qui j'ai travaillé n'investissent pas beaucoup de temps dans l'amélioration de leur flux de travail et de leurs outils, car elles sont satisfaites de ce qu'elles ont. Je trouve cela parfaitement correct… et je détesterais être la cible d'un prosélytisme constant de la part d'un éditeur, de sorte que je ne l'impose pas à d'autres.

Parfois, cependant, un collègue peut être intrigué par mon sentiment et me poser quelques questions. Lorsque cet événement rare se produit, je suis plus qu'heureux de discuter du sujet, de présenter des trucs sympas et de lui indiquer des ressources utiles.

Lors de mon dernier emploi, un collègue était très intéressé par Vim et connaissait très bien les bases ( vimtutor). Il lui suffisait de pouvoir effectuer des modifications rapides, mais il lui manquait la confiance et le savoir-faire nécessaires pour passer à Vim (ce qu’il souhaitait réellement). À un moment donné, il a dû effectuer manuellement une série de modifications répétitives sur un fichier JSON volumineux. Il a été bouleversé par l’idée de perdre une heure à le faire et m’a demandé une solution plus rapide et plus intelligente. Bien sûr, une simple macro a fait le travail en moins d'une minute (enregistrement compris), ce qui m'a permis d'expliquer quelques concepts clés…

Un problème rencontré par les nouveaux arrivants est que "maintenant quoi?" moment qui vient juste après vimtutor. Vim cache très bien sa beauté et peu de gens ont la volonté de casser cette coquille sans aide. Je peux fournir cette aide si nécessaire… mais je ne forcerai jamais Vim à d'autres.

romainl
la source
20

J'utilise Vim pour tout. Je veux dire tout. Programmation, traitement de texte, écriture de romans, etc. Tout. Je me suis assis chez un concessionnaire automobile utilisant une Surface Pro 3 exécutant une boîte virtuelle Linux avec Vim et j'ai invité des gens à discuter avec moi de ce que je faisais.

Il suffit d'utiliser Vim. Les gens viendront à vous pour savoir ce que vous faites et pourquoi. Je l'explique habituellement de cette façon -

J'utilise Vim parce qu'il a une très petite empreinte. Microsoft Word représente plusieurs gigaoctets et ma Surface n’a que 128 Go d’espace. Je dois maximiser mon espace et Vim m'aide à le faire. Il est également extensible et m'aide à rester concentré. Ici, regarde. Faites une démonstration de certains de mes plugins et montrez comment Vim en plein écran couvre tout pour que je puisse réfléchir .

Je démontre souvent LaTeX en combinaison avec Vim. Je vais construire un fichier LaTeX puis le compiler dans un magnifique PDF à l'aide d'un modèle que j'ai. Je fais également la démonstration de ma lettre et de modèles de CV. Je souligne combien il est important de séparer le style du contenu. À ce stade, les gens ne sont plus intéressés par ce que j'ai à dire et regrettent de m'avoir parlé.

Ils cherchent un moyen de sortir de la conversation et je recommence à écrire. Vim est une expérience religieuse plus qu'un traitement de texte.

J'aime les tortues
la source
3
Je me demandais simplement: écrivez-vous également votre courrier électronique dans vim? (
Oui
5
@ Oliphaunt J'écris des emails en VIM. Mon client de messagerie de choix est MUTT et lorsque je modifie ou crée un nouveau courrier, il ouvre l'éditeur de mon choix. J'utilise même VIM pour ajouter des URL à mon lecteur de flux RSS (newsbeuter).
ILikeTurtles
7
Certaines personnes ont décidé de modifier ma réponse en indiquant que j'utilise Visual Basic. J'utilise Virtual Box et exécute Linux sur Windows. Cependant, je pense que ces modifications sont très intéressantes, je vais donc simplement les laisser. C'est un peu comme jouer au téléphone avec des modifications. L’histoire ne cesse de changer au fur et à mesure que les gens la modifient. Amusement.
ILikeTurtles
2
@ Will Yep. J'ai une machine virtuelle qui prend quelque chose comme 2 Go ou moins. Je préférerais installer tout un système d'exploitation, VIM et tous mes autres outils, plutôt que 4 Go ou une copie quelconque de Microsoft Tools. La machine virtuelle elle-même peut se développer si j'en ai besoin, mais cela ne s'est pas encore produit car je travaille principalement avec des fichiers texte lorsque je traite avec cet ordinateur. Si j'utilisais FreeBSD, je pourrais potentiellement exécuter une empreinte encore plus petite et probablement exécuter la totalité de la VM en moins d'un emploi.
ILikeTurtles
3
Office 365 requiert jusqu'à 6 Go d'espace disque et 4 Go de RAM. Je peux exécuter un système d'exploitation Linux complet en utilisant 4 Go d'espace disque dur et 1028 Mo de RAM. Moins si je veux pousser les choses. J'ai exécuté FREEBSD sur une machine virtuelle et ne lui ai donné que 256 Mo de RAM. VIM pour moi remplace Office mais, en outre, une installation complète du système d'exploitation me donne beaucoup plus d'outils qu'Office en fournit moins. J'espère que cela à du sens.
ILikeTurtles
17

Démontrez la puissance du point ('.') En mode commande. Répéter facilement une édition compliquée en appuyant sur une seule touche ressemble généralement à de la magie.

Dmitry Rubanovich
la source
2
Oui. quelques exemples ici
roblogic
13

En tant que personne qui a dû apprendre Vim lors de mon dernier emploi, je dirais que le plus gros obstacle a été d'être placé devant une installation "par défaut" sans options définies. Je passais le plus clair de mon temps à dire: "Pourquoi agit-il ainsi alors que tout le monde s'attend à ce qu'il fasse l'inverse?"

Il s'avère que tous les autres ont déjà défini des valeurs par défaut de "santé mentale" . Une fois que j'ai compris cela, j'étais beaucoup plus heureux et j'ai «donné une chance» d'en apprendre plus. Après quelques jours où le pavé numérique ne fonctionnait plus, que les onglets étaient erronés, que les recherches ne fonctionnaient pas bien, etc. J'étais prêt à jeter l'éponge et à ne jamais regarder en arrière.

Si vous voulez vraiment que quelqu'un l'apprécie suffisamment pour essayer et apprendre des fonctionnalités plus avancées, démarrez-le du bon pied avec un fichier de paramètres optimisé pour le type de travail qu'elle doit effectuer.

Jon B
la source
4
Vous voyez, je ne l'ai pas abordé avec aucune de ces attentes embêtantes que vous avez mentionnées. Cela a été facilité par la conscience qu'il était né des décennies avant que les produits grand public ne soient connus de nos jours. Je suis ouvert à de meilleures méthodes de travail, qu'elles soient familières ou non. Et vraiment, seller un débutant avec votre propre fichier de paramètres n’est pas un très bon tutoriel!
underscore_d
+1 J'ai eu la même expérience et je ne pouvais pas être plus d'accord. Lorsque vous avez du travail à faire, le passage à un nouvel éditeur peut s'avérer pénible / impossible. Ne pas savoir simplement remettre un fichier .vimrc, mais expliquer en quoi il consiste et aider un nouvel utilisateur à définir quelques paramètres par défaut pour son style de travail peut non seulement les aider à être productifs rapidement, mais également constituer un moyen de commencer à La magie de (m).
Will
1
La lecture d'un .vimrcfichier avec un tas de valeurs utiles par défaut est vraiment utile. J'ai beaucoup appris sur Vim simplement en regardant les options définies dans github.com/amix/vimrc
icc97
Je suis complètement d'accord. Vim serait encore plus populaire si d'autres batteries étaient incluses. Regardez par exemple ce que je devais faire pour que l’ échange de mots fonctionne. Dans sa version actuelle, vimfournit les blocs de construction de base à partir desquels il faut configurer / programmer l'éditeur de texte dont on a toujours rêvé.
Serge Stroobandt
9

La meilleure façon d'inspirer un vieux chien à utiliser un nouveau tour est de prendre quelque chose qu'ils font et de montrer comment on peut facilement le faire plus rapidement / plus facilement / mieux d'une autre manière.

Il y a certainement une courbe d'apprentissage impliquée, qui dissuade simplement certaines personnes. Une blague va

Comment générez-vous réellement une chaîne aléatoire? Demandez à un nouveau venu de fermer vim.

Jesse
la source
1
Bon point. En tant que personne ayant tendance à utiliser le clavier plutôt que la souris, vi/ mdans de nombreuses situations, me permet d’accroître la vitesse et / ou d’éviter de basculer d’un périphérique à l’autre. De plus, je fais pas mal de choses à l’invite de commande (Linux, Cygwin), et j’en suis vitoujours .
underscore_d
8

Le meilleur moyen consiste à apprendre Vim vous-même et à en démontrer le pouvoir aux autres. Même vous n'avez pas à (le démontrer) - c'est auto-promotion. Une fois que vous l'utilisez avec des couleurs de syntaxe sophistiquées sur un fond de terminal hackish-like, les gens deviennent curieux et demandent souvent - qu'est - ce que vous faites . Puis montrez-leur.

Lorsque vous programmez des programmes en binôme et que vous voyez qu'un autre développeur a commencé à effectuer un travail reproductible qui ressemble à une tâche de Sisyphe (comme si vous frappiez le Backspace ou des flèches des centaines de fois), dites-lui à quel point cela vous agace car dans Vim, cela ne prend que quelques frappes au clavier. moins d'une seconde.

Consultez également les pages suivantes pour découvrir quelques astuces utiles de Vim:

Kenorb
la source
1
Votre deuxième paragraphe est sur place. Sauf que la douleur est encore pire lorsque vous les voyez à l' aide de vim , en mode insertion et lorsque vous appuyez sur les touches fléchées pour vous déplacer jusqu'au bout de la ligne . Arrrggh! (Je n'invente rien.)
Joker
1
J'étais d'accord avec @Wildcard, cela me rendait fou de regarder mon collègue en train d'analyser des données de largeur fixe en comptant les pressions de touches , cela lui a pris deux semaines, mon aide a été refusée. Sigh
roblogic
7

Le plus important: ne poussez pas, n'évangélisez pas. Soyez absolument sûr de votre motivation. S'il y a même un soupçon de travail missionnaire, ne commencez pas. L'écrasante majorité des personnes réagit soit agacée soit agressive, car la simple suggestion de vérifier un autre flux de travail est sous-jacente à la critique. Que votre flux de travail soit meilleur que le leur. Ce qui ferme beaucoup de monde. En fait, il s’agit d’un principe général qui fonctionne quel que soit le contexte (végétariens / mangeurs de viande, démocrates / républicains, marques automobiles, recettes,…) Ils font tous ce qu’ils font parce qu’ils croient que ce qu’ils font est la bonne façon de le faire.

Il se peut très bien qu'aucune critique de votre part ne soit intentionnelle, mais cela se passe de l'autre côté et vous ne pouvez rien y faire. Ce sont des humains pour vous.

Je suggère d’aborder le sujet s’il n’ya pas de date limite, dans un cadre détendu. Parlez de votre expérience, de quelle manière vous êtes impressionné et combien vous vous sentez plus efficace maintenant. Ne jamais comparer. Ne dites jamais «c'est mieux», car ce serait une déclaration absolue, demandant simplement à être contesté. Toujours aller avec "Je suis plus productif de cette façon". De cette façon, l’autre personne ne peut pas écarter le fait que vous pouvez effectivement être plus productif et que vous n’exercez aucune pression. Si l'autre personne choisit le sujet, soyez gentil et proposez peut-être de partager un lien ou deux, Vimcasts est une excellente ressource par exemple.

Apprendre à Vim est une tâche ardue, surtout si l’on consacre énormément de temps à l’investissement pour bien configurer son tout premier système. J'avais tellement de points d'interrogation en tête à ce moment-là et à peu près chaque réglage semblait absurde ou même hostile. C'est le contraire de l'intuitif. Soit quelqu'un persiste et obtient progressivement plus "aha!" moments ou va simplement laisser tomber pour un éditeur plus Word-like. Tout ce qui fonctionne.

En fin de compte, cela ne vaut vraiment pas la peine de débattre: tout le monde utilise ce qui fait le travail. C'est la beauté du code source: c'est universel.

Herrbischoff
la source
7

La première fois que j'ai utilisé vi, c'était dans une classe "d'introduction à Unix". Le professeur ne le savait pas très bien et il l'a présenté d'une manière très maladroite. Nous devions en mémoriser assez pour nous déplacer si jamais nous nous retrouvions coincés dans un système sur lequel rien d'autre n'était installé. Je n'ai pas pris un deuxième regard après ce semestre. C'est comme ça que vous n'évangélisez pas vi, et je pense que c'est comme ça que beaucoup de gens ont vécu leur première expérience.

Quelques années plus tard, je suivais un cours de formation continue en entreprise sur Perl. L’instructeur a utilisé vim dans ses démonstrations et a proposé d’aider les gens à faire de même, même si ce n’était pas l’objectif premier de la classe.

TMTOWTDI est une devise non officielle de Perl (il existe plus d'une façon de le faire). Au fur et à mesure que la classe posait des questions, l'instructeur apportait des modifications pour indiquer les alternatives, plus rapidement qu'il ne pouvait les décrire en mots . J'étais habitué à pouvoir lire le code au fur et à mesure de son édition, mais pour lui, l'édition s'est déroulée en une succession de touches, puis l'explication a suivi, à une vitesse glaciale en comparaison. S'il n'avait pas eu à s'arrêter pour nous expliquer le montage, il serait déjà passé à la tâche suivante.

J'ai quelques occasions similaires de démontrer vim:

  • Réunions Scrum
  • Programmation en binôme
  • Discussions techniques
  • Démonstrations de logiciels

Je pense que le simple fait de montrer son potentiel aux gens une fois que vous aurez appris que cela les incitera à aller au-delà du désordre initial.

Karl Bielefeldt
la source
Je pense que votre comparaison des impressions créées par les deux expositions très différentes de vi est une leçon très précieuse. J'y ai pensé maintes fois depuis que je l'ai lu… ça me reste à l'esprit. Merci.
Wildcard
6

Ce sont les mouvements intérieurs qui ont fait que mes yeux se sont transformés en cœurs flottants pour Vim. En plus des .répétitions et de la préfixation des chiffres, la présentation des mouvements internes est généralement l'une des premières choses que je montre / partage lorsque quelqu'un me pose des questions sur vim. ci(ou gUi>ou diw.

g;et g,sauter aux endroits que vous avez modifiés est généralement bon pour un œil élargi ou deux.

Volonté
la source
2

Bien que vipossédant un pedigree respecté dans l'histoire de l'informatique, je recommanderais de se concentrer sur vim. C'est un éditeur complet avec des capacités incroyables, correspondant à n'importe lequel de ses concurrents. Son seul inconvénient est la courbe d'apprentissage; Il faut du temps pour obtenir la "mentalité de Vim" et la mémoire musculaire. Je pense que cela en vaut la peine. Il y a beaucoup de pouvoir à votre disposition lorsque vous devenez compétent vim.

  1. Démontrez la puissance de vimscript pour automatiser les tâches de traitement de texte ennuyeuses.
  2. Installez des plugins sympas vim-airline, parce que tout le monde aime une bonne interface utilisateur.
  3. Il y a des tas de tutoriels gratuits, comme celui-ci .
  4. vi/ vimest installé sur tous les systèmes Unix; Ainsi, tout administrateur professionnel devrait en avoir une connaissance pratique.
roblogic
la source
Le vrai noeud de ma question est "Comment" concernant le point 1 de votre réponse. Avez-vous eu des expériences montrant cela aux autres ou se montrant vous-même?
Wildcard
Pas tellement de démonstration, mais j'utilise régulièrement de petits scripts vim pour nettoyer du texte, mais comme vous, mes collègues ne m'intéressent pas beaucoup (ils préfèrent vider la sortie dans des documents
volumineux
0

J'adore le VIM, mais la courbe d'apprentissage est raide.

Tout professionnel qui n’a pas encore adopté VIM n’est pas susceptible d’être persuadé par des arguments . Seulement par nécessité.

À l’écoute des personnes qui affirment utiliser régulièrement le VIM, le cas le plus répandu concerne les administrateurs qui gèrent plusieurs machines * NIX à distance avec CLI via SSH.

VIM est littéralement installé sur presque toutes les machines * NIX de la planète.

VIM a plus de 25 ans et n'a pas changé depuis que j'ai commencé à l'utiliser en 1998.

xtian
la source
0

Demandez simplement à l'élève d'échanger deux mots avec son processeur Word ™…

… Montre ensuite comment le maître le fait avec vim. (Voici la cartographie pour le faire; plus ici .)

Enfin, laissez l’élève se demander s’il a réellement travaillé avec un traitement de texte jusqu’à présent.

Serge Stroobandt
la source
1
Clever, mais control-backspace supprime un mot dans à peu près n'importe quel éditeur Windows, et alt-backspace va dans à peu près tout éditeur Mac.
Wildcard
@Wildcard Je doutais entre supprimer et sélectionner ma première idée . Vous avez absolument raison, bien sûr. Par conséquent, je l'ai modifié pour sélectionner.
Serge Stroobandt
Still — ctrl-shift les flèches gauche / droite (ou les flèches alt-shift pour Mac). :)
Wildcard
@Wildcard Je pense que je l'ai maintenant. J'ai dû reconstruire mon raisonnement passé. ;)
Serge Stroobandt
@Wildcard Merci d'avoir insisté. J'ai eu du mal à me rappeler ce qui m'a amené à opérer ce changement radical gvim. Maintenant, je m'en souviens bien. C'était échanger / déplacer des mots dans une phrase lors de l'écriture d'un texte anglais en tant que locuteur non indigène. J'ai écrit mes propres mappages vimscript pour faire exactement cela.
Serge Stroobandt
0

Vim veut aussi revaloriser les fichiers de texte brut

Dans le contexte de la création de documents, la valeur de vimne réside pas uniquement dans ses fabuleuses compétences en édition de mots. Vim est également un moyen de rétablir la valeur du fichier de texte brut omniprésent et sa garantie de compatibilité ascendante intemporelle.

Vim vise également à se concentrer exclusivement sur le contenu; pas de format

Si vous n'êtes pas dans l'édition de pages Web, la séparation du contenu du format pourrait être un concept bouleversant pour tout employé de bureau habituel. Pour cette raison, j'aime me montrer en gvimtant qu'éditeur Markdown en combinaison avec Pandoc et peut-être a makefile.

Cela s'avère également être une bonne démonstration de la philosophie Unix ou GNU / Linux de combinaison et de programmes de tuyauterie extrêmement performants pour une seule chose.

En prime, vous verrez que les vimcombinaisons de touches de base sont utilisées dans de nombreux autres programmes GNU / Linux.

Serge Stroobandt
la source
0

Ergonomie

Avec la bonne configuration, je peux travailler pendant des heures sans me faire mal aux épaules et au dos.

La bonne configuration est bien sûr différent pour tout le monde, mais en utilisant Vim dans un terminal, la cartographie Escà Capslocket la désactivation de la souris et les touches de curseur est un bon début.

laktak
la source