L'éditeur de texte multiplateforme Vim 8 arrive
Et apporte le support des échanges de messages effectués de manière asynchrone
Le 2016-04-15 21:08:00, par Stéphane le calme, Chroniqueur Actualités
La version 8 de Vim, un éditeur de texte multiplateforme populaire, devrait bientôt arriver. Cette mouture, qui est une version majeure, propose le support I/O asynchrone. Vim peut désormais échanger des messages avec un autre processus en fond de tâche. Les messages sont reçus et gérés tandis que Vim attend un caractère.
Les minuteurs sont également asynchrones. Ils peuvent être déclenchés en une ou plusieurs fois et invoquer une fonction. En guise d’illustration, voici la définition d’un minuteur qui effectue une invocation de CheckTemp quatre secondes plus tard :
Jobs permet de lister des travaux suspendus (il n'y a qu'un seul programme au premier plan à la fois). Vim peut désormais lancer un job, communiquer avec lui et l’arrêter ce qui est idéal pour exécuter un processus jusqu’à sa complétion, vérifier la syntaxe. Les jobs peuvent également être écrits ou lus dans un buffer ou un fichier.
En raison du nombre croissant de plugins, les développeurs du projet ont décidé d’introduire leur propre système de packaging. L’objectif est de faciliter l’obtention d’un ou plusieurs plugins du point de vue utilisateur, les ranger dans un annuaire et les mettre à jour. Vim va les charger automatiquement ou, le cas échéant, charger celles que les utilisateurs vont choisir.
Pour les développeurs qui se servent des scripts Vim, cette mouture apporte une simplification de l’écriture des tests ainsi que de leur mise à jour avec un framework pour lancer ses tests et des fonctions assert (assert_equal(), assert_notequal(), assert_exception(), assert_fails(), assert_match(), assert_notmatch(), assert_true()) en plus de alloc_fail() et disable_char_avail_for_testing().
Les éditeurs ont indiqué que le support de MS-DOS a été retiré. Il faut également noter que, si précédemment il n’était possible d’avoir accès aux fenêtres que par le nombre qui leur était assigné et que chaque fois qu’une fenêtre était ouverte, fermée ou déplacée, ce nombre changeait, les développeurs ont décidé de leur assigner désormais un identifiant unique afin qu’elles soient aisément identifiables. Les éditeurs ont également indiqué le support de GTK+ 3.
Source : GitHub
Télécharger VIM
Les minuteurs sont également asynchrones. Ils peuvent être déclenchés en une ou plusieurs fois et invoquer une fonction. En guise d’illustration, voici la définition d’un minuteur qui effectue une invocation de CheckTemp quatre secondes plus tard :
Code : |
let tempTimer = timer_start(4000, 'CheckTemp')
En raison du nombre croissant de plugins, les développeurs du projet ont décidé d’introduire leur propre système de packaging. L’objectif est de faciliter l’obtention d’un ou plusieurs plugins du point de vue utilisateur, les ranger dans un annuaire et les mettre à jour. Vim va les charger automatiquement ou, le cas échéant, charger celles que les utilisateurs vont choisir.
Pour les développeurs qui se servent des scripts Vim, cette mouture apporte une simplification de l’écriture des tests ainsi que de leur mise à jour avec un framework pour lancer ses tests et des fonctions assert (assert_equal(), assert_notequal(), assert_exception(), assert_fails(), assert_match(), assert_notmatch(), assert_true()) en plus de alloc_fail() et disable_char_avail_for_testing().
Les éditeurs ont indiqué que le support de MS-DOS a été retiré. Il faut également noter que, si précédemment il n’était possible d’avoir accès aux fenêtres que par le nombre qui leur était assigné et que chaque fois qu’une fenêtre était ouverte, fermée ou déplacée, ce nombre changeait, les développeurs ont décidé de leur assigner désormais un identifiant unique afin qu’elles soient aisément identifiables. Les éditeurs ont également indiqué le support de GTK+ 3.
Source : GitHub
-
Pierre Louis ChevalierExpert éminent séniorC'est le terme généralement utilisé.
Vim est un éditeur de texte, c’est-à-dire un logiciel permettant la manipulation de fichiers texte. Il est directement inspiré de vi (un éditeur très répandu sur les systèmes d’exploitation de type UNIX), dont il est le clone le plus populaire. Son nom signifie d’ailleurs Vi IMproved, que l’on peut traduire par « VI aMélioré ».le 16/04/2016 à 15:57 -
MaximeChMembre éprouvéUne video que tout utilisateur de vim devrait voir!le 14/12/2019 à 16:33
-
AoCannailleExpert confirméJe crois que chuck_norris ci-dessus t'as décrit en fanatique
Tu parles de Vim qui serait le plus puissant éditeur de texte du marché. Personnellement, j'ai toujours entendu parlé d'emacs pour ça. Que penses tu de cet editeur?
De manière générale, je trouve qu'effectivement ces logiciels ne sont pas du tout intuitif pour une raison plutôt simple : Ils ne respectent pas, dès le premier lancement, les raccourcis universel de l'édition texte que sont le ctrl+C / Ctrl+V, selection avec maj + flêches etc... Quand on arrive sur un éditeur, quel qu'il soit on s'attend à ce qu'il se comporte comme ça pour une utilisation de basique.
ça me rappelle une citation:
Envoyé par Tollef Fog Heen le 20/04/2016 à 17:02 -
dlewinMembre confirméJe suis tout à fait d'accord avec ça: j'ai commencé par faire connaissance avec vi et je suis devenu quasiment dingue avec un "truc" que je trouvait inutilisable, j'ai alors tenté Emacs que j'ai beaucoup aimé mais pour des raison de travail j'ai du retenter vim ne sachant pas la différence. Mais du coup quelle différence ! depuis toutes ces années je n'ai plus ré utilisé Emacs et quand vraiment un EDI est nécessaire j'utilise Pycharm, mais vim est le seul à avoir cette philosophie si bien pensée.
Bien que tu as une volonté de consensus claire, je ne pense pas que ce soit la bonne approche : le meilleur éditeur est celui qui te permettra de mieux travailler. A partir du moment où quelqu'un est prêt à faire un effort pour apprendre à utiliser un outil dans le but d'efficacité:
si cet outil démontre qu'entre l'avant l'outil et l'après une évolution bénéfique (optimisation, gain de temps, compréhension, etc...) évidente à eut lieu = il y aura alors amélioration.
Si quelqu'un est d'accord avec ça il passera avec motivation les moments "casse-pieds" où l'on doit apprendre, comprendre. Seulement c'est aussi le hic : il faut comprendre pourquoi on passe ces moments là: c'est donc l'approche et non l'outil qui est à considérer.
On parle de vim ici ,mais on pourrait revenir de la même manière sur tout type d'outil clavier bépo, Yocto, marteau, etc ...
Néanmoins, et pour revenir sur vim lui-même il me semble que son développement ne soit pris en compte depuis des années que par 1 seule personne D. Knuth et dont les développements seraient trop monolithiques et compliqués à force d'entasser ces années de code.le 23/04/2016 à 11:22 -
Luc HermitteExpert éminent sénior??
Le mainteneur de vim est Bram Moolenaar. Il valide chaque patch, mais il y a une petite équipe de personnes qui contribue régulièrement des patchs dans l'outil. Equipe qui est super active en ce moment : j'ai vu passer un bon millier de patch en quelques mois. La concurrence avec NeoVim a fait du bien à vim.
Après effectivement, Bram est très regardant sur les patchs proposés. C'est un peu comme ça que neovim a vu le jour.
PS: j'avais raté un truc comme quoi c'est vi qui est installé sur tous les linux. Non, c'est bien vim. Mais le raccourcis vi qui est déployé par défaut est une version ultra bridée de vim qui se veut compatible avec le vénérable vi.le 23/04/2016 à 15:33 -
MeseiraMembre avertile 14/12/2019 à 19:08
-
SteinvikelMembre expertNano, c'est bien quand tu ne connais pas vim. Vim, c'est bien tout court.le 15/12/2019 à 17:53
-
AoCannailleExpert confirméj'utilise vim régulièrement pour agir sur du matos embarqué qui n'a que ça comme éditeur. Il rend bien des services et il est super stable. Je suis content qu'il ne soit pas abandonné, mais il y a très peu de chance que j'utilise ses nouvelles fonctionnalités....
Je passe déjà pour un extraterrestre quand j’édite fichier de conf avec
i > blabla > echap > :w > :q / :q!le 18/04/2016 à 10:24 -
AoCannailleExpert confirméIl me semble que c'est Vi et pas ViM qui est sur tous les linux. Et Vim apporte un détails assez important (de la faible connaissance que j'en ai) : la coloration syntaxique
Je suis juste un maniaque de la perte de temps.
ddp pour échanger deux lignes
ci{ pour changer tout le texte entre deux {}
ci" pour changer tout le texte entre deux "
qa pour apprendre une macro, q pour l'arrêter, [nombre]@a pour la rejouer autant de fois que [nombre]
[chiffre] un ordre = rejouer autant de fois que [nombre], exemple : 200p = 200 fois "paste" = 200 fois ton "ctrl C". Allez j'attend que tu aies terminé de copier coller 200 fois pile poil...
Bref j'ai déjà expliqué qu'il fallait passer au dessus de cette période d'apprentissage
Et c'est marrant parce que j'ai une des questions les plus visitées sur stackoverflow où je dis exactement le truc où tu semble t'être arrêté : "ctrl+C / Ctrl+V" est beaucoup mieux, alors pourquoi il y a toujours autant de gens qui utilisent vim ?
4154 bookmarks sur ma question où je dis "je suis au mieux 10 fois moins productif sur vim que sur n'importe quel autre éditeur de texte". C'était en 2013. Après quelques semaines de frustration, je suis aujourd'hui entre 2 et 3 fois plus rapide avec vim qu'avec n'importe quel autre éditeur de texte.
Je te laisse lire la réponse sur laquelle je me suis sérieusement penché et j'ai énormément appris ici.
De toute façon, le meilleur éditeur, c'est celui qu'on maitrise le mieuxle 20/04/2016 à 17:47 -
Luc HermitteExpert éminent séniorvi est un éditeur de texte et pas grand chose d'autre.
vim est un IDE. Il intègre (avec ou sans plugins)
- compilation -- rien que ça suffit à le classer dans les IDE.
- debug (sous linux avec gdb et lldb) -- pas toujours très ergonomique, il est vrai, et très loin du débuggueur de VC++
- des ersatz de refactoring
- snippets et wizard
- complétion fort intelligente, cf https://github.com/Valloric/YouCompleteMe
- VCS (svn, Hg, Git, cvs...)
Et tous les classiques: coloration, complétion basique, édition, etc.
et moins classique: grep, sed, uniq, etc.
Je l'utilise pour coder intensivement sur des gros projets en C++.
Après, il est également très bien pour manipuler interactivement des log titanesques vu qu'il intègre nativement grep et sed (avec de légères différences syntaxiques), et qu'on peut lui rajouter des surligneurs.
Bref. Il est parfaitement adapté. Et il présente un énorme avantage sur bien des alternatives : pas besoin d'apprendre à se servir de 50 programmes. Un seul suffit pour tout faire, en remote comme en local sans plomber les machines sur lequel on le fait tourner.le 20/04/2016 à 18:04