vi / vim, ces reliques de l’ancien monde UNIX

Beaucoup de « Linuxiens » font un contre-sens épouvantable sur la genèse du système Open Source sous licence GPL. Linus Torvalds, en 1991, n’a jamais cherché à faire un OS alternatif à Windows. A l’époque, Microsoft était encore un nain dans le monde l’informatique professionnelle. Les « ennemis » de l’époque – qui grevaient les budgets des universités du monde entier – s’appelaient alors AIX, HP-UX, Solaris et Xenix. Il s’agissait alors de disposer d’une alternative aux UNIX propriétaires. Au cas où certains d’entre vous l’auraient oublié, LINUX signifie Linux Is Not UniX.

En 1999, j’ai eu la chance avec Nicolas – un des sysadmins de l’époque de l’université de Cergy-Pontoise – de faire une formation LINUX à partir de MandrakeLinux, la distribution conçue et réalisée par Gaël Duval. Nous avions en commun d’avoir essuyé nos bouts de doigts sur les claviers des systèmes UNIX. Sur MandrakeLinux devenu Mandriva puis Mageia, l’éditeur en mode texte par défaut n’est autre que celui de Midnight Commander, une sorte de Norton Commander développé pour Linux, qui a inspiré par la suite GNOME Commander ou Krusader sur KDE en environnement graphique.

Nous avions surtout en commun d’avoir une profonde détestation pour la complexité inutile de l’éditeur vi,  ainsi que pour ces enseignants sadiques qui se pensaient faire partie d’une élite de pacotille du fait de leur maîtrise des raccourcis de ce logiciel archaïque. Ce sentiment d’être au-dessus du lot qui animait les vieux chnoques du monde UNIX s’est aujourd’hui très largement répandu à de jeunes chnoques tyranniques qui aiment à imposer aux autres leur propre habitus numérique. Pour justifier de leur impéritie, ils nous expliquent alors que vim est plus ergonomique que vi , tout en passant des heures à faire leur Jacky Tuning en optimisant leur fichier .vimrc. Quel contre-sens historique !!!

Changer d’éditeur texte sur Linux

Pour vous abstraire de la tyrannie de ces sysadmins qui décident de ce qui est bien ou mal pour vous, je vous propose de changer d’éditeur sous Linux. Vous devez installer au préalable le paquet du logiciel Midnight Commander :

Ajoutez ensuite à la fin de votre fichier ~/.bashrc :

export EDITOR='mc -e'

ou

export EDITOR='mcedit'

Vous pouvez aussi utiliser nano, installé par défaut sur la plupart des distributions Linux. Vous pouvez même créer votre fichier ~/.nanorc si vous aimez à perdre votre temps.

Utilisation de WinSCP

L’autre solution est d’utiliser via SSH le logiciel Open Source WinSCP pour éditer vos fichiers, à partir de votre système Windows. Une fois connecté à votre système distant, double-cliquez ou bien faites un clic droit sur le fichier à éditer. Encore faut-il que vous disposiez des droits !

Vi / Vim, ces reliques de l'ancien monde UNIX

Linux  / AIX HP-UX Linux Solaris Unix 

Commentaires

Ces élitistes sadiques qui utilise la CLI sur leurs serveurs au lieu d’une GUI qui facilite tellement les choses…

Quel gloubiboulga ! Oui, Mc est un truc tellement inutilisable qu’il ne sert a rien l’instruction cp, mv et ls font parfaitement le job. Par contre vi pour éditer rapidement et proprement un fichier texte présent sur un serveur distant : on a pas encore fait mieux. Si on veut faire de l’édition locale, faut mieux utiliser git ou rsync ;-)

@Nicolas K.

Dans « logiciel libre », il y a « libre » !

@Mr Bidon

Je parle de l’éditeur mc. Pas de mc en tant que gestionnaire de fichiers.

Connais pas, je le note dans ma liste de truc a tester. Est ce que c’est mieux que nano ?

PS : vi c’est pas la mort a apprendre, il suffit de taper vimtutor dans n’importe quel machine Linux pour lancer le tuto.

@Mr Bidon

C’est juste inutile et stupide d’apprendre vi.

Bonjour,
vi avait l’avantage d’être installé sur tous les UNIX propriétaires que vous citez. On pouvait s’en sortir avec à l’époque. (il y avait aussi ed… beurk!)
Aujourd’hui, le choix est plus grand, et un simple nano permet de faire bien des choses, et est, bien plus intuitif.
Mais AIX existe toujours…

« Linux Is Not UniX »

Tiens, c’est nouveau ça, ce n’est même pas mentionné dans Just for fun.

Vim/Vi est un logiciel 100x plus puissant que mcedit ou nano ou quesaisje encore. Et je ne parle pas des fonctions d’éditions, mais bien de tout ce qui tourne autour.

Nulle question d’élitisme ici, juste … les faits.

Mais il faut se donner la peine de le maitriser.

@Oupsman

On ne peut pas tout savoir. Vous avez quel âge ?

Sur vi/vim, c’est juste une question d’habitus, un truc de vieux chnoque. Bis repetita placent. Vous aurez du mal à en guérir. ;+)

J’ai 40 ans. 20 ans d’expérience pro. Quelques vrais OS Unix parmi mes compétences. Mais je ne vois pas pourquoi vous posez cette question ?

Le truc est que vi est présent sur tous les systèmes Unix, linux compris et dans toutes les distributions Linux.

En apprendre les rudiments est pratique pour éviter d’être paumé et incapable de travailler quand on se retrouve sur un système où il n’y a que vi d’installé. Apprendre la combinaison « ESC :x! » n’est pas bien compliqué quand même. On peut même ajouter « ESC :q! » pour quitter sans sauvegarder, soyons fous. N’importe quel admin Linux connait par coeur bien plus de commandes que cela …

pas de vieux chnoque ici, juste quelqu’un de pragmatique …

Je sais, ce concept se perd.

@Oupsman

F10 dans mcedit ! CTRL+x dans nano. ALT+F4, sous WinSCP, à partir de l’éditeur intégré. Très intuitif ESC :x ou ESC :q! A un certain stade, je pense que certaines personnes, par habitude, ne se regardent même plus faire et, surtout, ne regardent plus et ne comprennent plus rien au monde qui les environne.

NB Je connais vi, vous savez, ce truc de vieux con ! ;+)

Hum.
Si certains (dont je fais partie) continuent d’utiliser vi/vim c’est bien qu’ils y trouvent leur compte, et je trouve – mais ce n’est que mon avis – qu’il n’est pas moins aberrant d’insulter les gens qui sont satisfaits de vi/vim que de les imposer aux utilisateurs…

Bonsoir,

Puisque que l’on est entre vieux machins, je rajouterais que j’ai touché à Emacs. Incapable de m’en sortir avec ses raccourcis.
Les éditeurs proposant des raccourcis à l’aide des touches Fx, ne fonctionnaient pas ou mal avec les terminaux basés sous VT100 ou WYSE60. Vi était la panacée. Les touches «escape» ou «ctrl» elles marchaient plutôt bien.
@Oupsman a raison, avec des rudiments de vi on s’en sort toujours sous les systèmes basés sur UNIX (ça reste un réflexe chez moi).
Mais depuis que Nano est apparu, et est disponible sous tous les Linux que j’ai rencontré, l’apprentissage des novices est plus simple.
Vi est un peu le notepad de Windows, toujours disponible mais énervant quand on a goutté à autre chose.

@Minami-o

Il m’arrive à l’occasion d’utiliser vi/vim, que j’ai beaucoup utilisé par le passé. Je fais le constat d’une pratique de vieux cons. ;+) Je comprends qu’il soit toujours difficile de se remettre en cause, voire changer de pratiques.

Comparer vim à MidnightCommander est assez réducteur (pour ne pas dire ridicule).
Vim est un éditeur de texte complet, avancé, avec un grand nombre de fonctionnalités. Oui il est compliqué à apprendre, et sa méthode de fonctionnement ne peut pas plaire à tout le monde, mais il n’est clairement pas dépassé.
C’est sur que pour quelqu’un qui veut éditer rapidement un fichier sur un serveur, vim n’est pas adapté, mais pour travailler régulièrement avec, vim peut être une excellente solution, et je ne vois pas le problème de vouloir apprendre à maîtriser un outil puissant si il nous convient. Et sinon il y a nano sur presque toutes les distributions maintenant pour ceux qui veulent un editeur simple, et qui en sont encore à l’archaïsme d’éditer les fichiers directement sur les serveurs.

@denis

Bien entendu, dès que je le peux, j’utilise un éditeur moderne qui n’impose pas l’utilisation de Winscp pour éditer des fichiers distants. Que ce soit avec un poste de travail sous Linux ou sous Windows d’ailleurs.

Mais les rares fois où j’ai besoin d’éditer un fichier de configuration, j’utilise vi (présent partout, je le rappelle)

Ceci dit, il ne me viendrait jamais à l’idée de changer l’éditeur par défaut sur une machine que je ne suis pas seul à administrer. Si par malheur, sur une machine que je coadministre un visudo utilise nano, je sais en sortir sans m’arracher les cheveux …

@solfda

Je n’ai pas comparé. J’ai dit que vi/vim était un truc de vieux chnoques. Il faudrait être quelque peu « autiste » pour ne pas s’en rendre compte, non ?

Je serais donc un vieux schock autiste ? De mieux en mieux.

@Oupsman

Je répondais à solfda. Là, il s’agirait plutôt de schizophrénie. ;+)

NB Chnoque… et non pas schock. A moins qu’il s’agisse d’un électro-choc. Un électro-chnoque, c’est pas mal aussi, hein ? Si, en plus, vous vous mettez tous à déformer ma pensée complexe… ;+)

Effectivement, tu as l’air d’avoir du mal à te remettre en cause…
Pourtant, nombreux sont ceux qui t’ont fait remarquer le ton gratuitement désobligeant de ton billet et de tes commentaires, ainsi que la vacuité de tes arguments, et ce sur divers sites.
Tu es bien sûr libre de tes avis et propos, à plus forte raison sur ton propre site, mais soutenir mordicus que tu détiens la vérité quand tu ne fais rien d’autre qu’émettre un avis personnel de manière péremptoire discrédite ton propos.
Libre à toi de ne pas aimer vim, de tenter de faire découvrir des alternatives pertinentes à tes lecteurs, c’est même tout à ton honneur, mais pourquoi tant de condescendance et d’entêtement à vouloir imposer ton opinion ?

@Minami-o

Faut peut-être pas renverser les rôles. Qui sont les ayatollahs ? J’exprime un point de vue, souvent dans l’auto-dérision. Ai-je parlé, en ce qui te concerne de propos péremptoire ? Et pourtant…

Ce n’est parce qu’un minorité de libristes – comme toi et d’autres – nous emmerde à vouloir faire la pluie et le beau temps dans la blogosphère française que j’arrêterai d’avoir raison avant tout le monde. Votre attitude est un repoussoir. Et vous êtes accessoirement les pires avocats du logiciel libre, des intolérants. Avec des gens comme vous, Microsoft, le logiciel propriétaire ont encore de très, très beaux jours devant lui.

Heraus ! Et si tu pouvais me foutre la paix, sache que ça m’arrangerait.

‘LLo,

Pour détendre l’atmosphère bien que cela soit mon premier passage par ici, cela me rappelle cette blague:
Comment obtenir la suite de caractères la + aléatoire possible ?
Demandez à un développeur web d’enregistrer/quitter un fichier avec vi/vim & récupérer le tout !

@fassil

J’adore ! Et merci pour ce brin d’humour.

Il est vrai qu’apprendre VIM est une tache infinie.

Mais parce que ce ‘il peut faire est illimité.
Plus précisément ce qu’on peut faire avec VIM *pour gagner du temps* est illimité.

À partir du moment où on écrit beaucoup, où on fait des choses un peu techniques comme de la programmation, du texte mis en forme etc. pour moi, il n’y a pas mieux (sauf peut-être Emacs pour ceux qui maitrisent l’usage de leurs 10 doigts sur le clavier – pas moi)

Même pour écrire 10 lignes et utiliser Writer pour les mettre en forme (ce que je ne fais plus depuis que j’utilise LaTeX), ou mêm pour envoyer un mail, VIM me fait gagner du temps, ne serait-ce que pour corriger rapidement mes fautes d’orthographe, de frappe et autres coquilles.

Ignorer la souris pour aller dans un menu, limiter les frappes sur les flèches pour se déplacer, imaginer les macros les plus folles, vite faites pour une tâche complexe qui ne me servira peut-être plus jamais, fait gagner un temps important.

J’avoue essayer souvent des éditeurs spécialisés (pour HTML ou LaTeX, par exemple), des «environnements de programmation» tout aussi spécialisés dans divers langages, ou des éditeurs populaires comme nano, et revenir très vite à VIM parce que mes doigts en ont l’habitude. C’est donc POUR MOI, ÉVIDEMMENT PLUS RAPIDE ET MÊME, PLUS SIMPLE.

Mais il est évident que c’est de plus en plus vrai à l’usage, amélioré par de temps en temps un apprentissage, lorsque je constate qu’une fonction serait plus intéressante que ce que j’utilise déjà.

Si vous trouvez stupide d’avoir à apprendre et s’entrainer pour être performant, si la connaissance à acquérir, ne vous semble pas l’essentiel pour être libre et responsable dans la vie, si l’efficacité ne se mesure que dans l’instant présent, alors vim n’est en effet peut-être pas fait pour vous.

Sinon, personne n’est obligé de considérer comme un cadeau celui qui pour moi est inestimable.

Je conçois facilement qu’il y ait des phobies du clavier, comme il y a a des phobies scolaires, sans avoir à les étiquetter dysfonctionnels (dyslexiques, dysgraphiques, dysgraphiques et zéro sur dys..).

Donc on peut être phobique de VIM, comme on peut être FANA de VIM. Moi, j’en suis Fan!

Mis il est vrai que, comme pour tout métier ou tout talent, il y faut un apprentissage et de temps en temps quelques efforts de «formation continue».

VIM n’est pas fait pour aller vite sans l’avoir un peu appris et pratiqué, au mins quelques heures, pour les uns, quelques jours pour d’autres, dans une tâche qu’on ne sait pas bien faire, ici, écrire du texte au clavier (qui est pourtant fait pour ça!).

Ceci n’a rien de honteux.

Je n’utilise que rarement les logiciels d’imagerie, et ignore 99% au moins des commandes d’ ImageMagick, de Gimp, ou de dessins vectoriel.
De même pour les montages vidéos, sonores, ou diaporama. Donc je considère qu’il en va de même pour ceux qui écrivent peu et préfère perdre régulièrement un peu de temps lorsqu’ils ont à écrire, plutôt que de se donner du temps initialement pour en gagner ensuite régulièrement.

Question de mesure pour les uns, de philosophie pour d’autres.

Mais j’avoue de nouveau, une fois accro à VIM, difficile d’apprécier les autres, qui me font presqu’immédiatement souffrir par leurs limites, dues également au fait d’avoir à réappendre.

Simple témoignage personnel, qui convient à ma philosophie et à mon habitude.

Mais je suis sans doute un Dinosaure au XXIe siècle, capable de lire plusieurs livres par an et d’en écrire l’équivalent (en quantité) et de considérer la liberté comme une richesse, inestimable mais qui a donc un prix, mérite efforts et parfois sacrifices.

@joseph Tux

Vi est surtout un outil fait pour dégoûter.

Laisser un commentaire

(requis)

(requis)