Developpez.com

Le Club des Développeurs et IT Pro

Vim 8 : la nouvelle version de l'éditeur de texte multiplateforme est disponible

Elle apporte un lot de nouveautés et corrige de nombreux bogues

Le 2016-09-13 06:30:04, par Coriolan, Expert éminent sénior
Vim est un éditeur de texte très populaire et multiplateforme. Il doit sa notoriété au fait qu’il est extrêmement personnalisable et relativement léger malgré les nombreuses possibilités qu’il offre. La version 8 de Vim est disponible, cette nouvelle mouture apporte un lot de nouveautés et corrige de nombreux bogues.

Avec le support I/O asynchrone, Vim peut désormais échanger des messages avec d’autres processus dans l’arrière-plan. Les messages sont dès lors reçus alors que Vim attend un caractère. Les canaux sont étroitement liés au support JSON. JSON est largement supporté et peut facilement être utilisé pour la communication inter-processus, ce qui permet de créer un serveur dans n’importe quel langage. Les fonctions à utiliser sont json_encode() et json_decode(). Ces nouveautés permettent de créer des plug-ins très complexes, écrits en n’importe quel langage et qui s’exécutent dans des processus séparés.

Les minuteurs sont également asynchrones, ils peuvent démarrer une seule fois ou à plusieurs reprises et invoquer une fonction pour réaliser n’importe quel travail. Par exemple : > let tempTimer = timer_start(4000, 'CheckTemp') va appeler la fonction CheckTemp() après quatre secondes (4000 millisecondes).

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 et l’arrêter, ce qui est idéal pour exécuter un processus pour la complétion, le contrôle syntaxique, etc. Des canaux sont utilisés pour communiquer avec le job. Les jobs peuvent également être lus ou écrits dans un buffer ou un fichier.

En raison du nombre croissant de packages, un nouveau système de packaging a été introduit afin de faciliter la gestion des packages. Ainsi, il est plus facile d’obtenir un ou plusieurs packages, de les ranger dans un annuaire et de les mettre à jour. Vim va les charger automatiquement, ou seulement quand l’utilisateur désire les utiliser.

Il était jusque-là difficile d’écrire des tests pour Vim. Vim 8 a introduit les fonctions assert et un framework pour exécuter les tests. Cela permet de simplifier considérablement la conception de tests et leur maintien à jour. Plusieurs autres fonctions ont été ajoutées également spécifiquement pour le testing.

Les autres nouveautés majeures incluent un ID unique à chaque fenêtre afin de faciliter la navigation. En effet, les fenêtres pouvaient seulement être consultées par leur numéro. Mais à chaque fois qu’une fenêtre était ouverte, fermée ou déplacée, ce numéro changeait. Chaque fenêtre a désormais son ID unique, ce qui permet au passage de les trouver plus facilement. Cette nouvelle version de Vim supporte également le DirectX (DirectWrite), les utilisateurs peuvent l’activer sur MS-Windows. Les éditeurs de Vim ont indiqué aussi que le support de GTK +3 est disponible. Il convient de rappeler que le support de MS-DOS a été retiré, car cela faisait un moment que Vim ne fonctionnait plus dessus. L'équipe de développement a retiré également le support de Windows 16 bit (Windows 95 et les versions antérieures) et OS/2.

Source : Github

Télécharger Vim

Et vous ?

Qu'en pensez-vous ?
  Discussion forum
59 commentaires
  • MaximeCh
    Membre éprouvé
    Une video que tout utilisateur de vim devrait voir!
  • Meseira
    Membre averti
    Envoyé par xXxNeWgEnErAtIoN
    Vim c'est vraiment pas top, ça vaut pas nano
    Excellent, un troll vim/nano, ça change de l'éternel vim/emacs
  • Steinvikel
    Membre expert
    Nano, c'est bien quand tu ne connais pas vim. Vim, c'est bien tout court.
  • Vim c'est vraiment pas top, ça vaut pas nano
  • Sodium
    Membre extrêmement actif
    Sinon un vrai IDE c'est bien aussi
  • Markand
    Membre éclairé
    Envoyé par Sodium
    Sinon un vrai IDE c'est bien aussi
    Commentaire probable d'une personne n'ayant jamais utilisé vim (ou ne connait que :w et :q). Ah ! je me demande pourquoi autant d'IDE proposent une émulation vim (VS, Qt Creator, VS Code) s'il est tellement mauvais cet éditeur de texte.
  • bbalet
    Membre actif
    La seule chose de sensée à faire quand vi(m) s'ouvre c'est la séquence ESC : q !
  • Luc Hermitte
    Expert éminent sénior
    Envoyé par Sodium
    Travailler sur code bien séparé en VIM est chiant. Naviguer entre les fichiers est chiant, chercher une fonction est chiant. Ca pousse les pisseurs de codes à tout rassembler en un seul endroit et à pondre des horreurs qu'ils seront les seuls à comprendre.
    Hum... On ne doit pas utiliser le même outil car la navigation via les tags, ou via des solutions plus avancées aujourd'hui (merci le Language Server Protocol) n'est vraiment pas complexe.
    Quant à naviguer dans les fichiers, c'est tellement plus simple avec la complétion sur le nom du fichier plutôt que sa recherche dans un arbre...

    Après, je fais parti des qui considèrent que dans la mesure où vim intègre l'appel au compilateur nativement, c'est un environnement de développement intégré. Probablement parce que j'ai connu les premiers "IDE" qui faisaient guère plus. Après, c'est sans compter les plugins et l'évolution de l'outil.

    La vraie difficulté, c'est le fait qu'il soit modal, et qu'il faille apprendre à s'en servir sans être assisté par une souris. Et après nombre d'intégristes veulent le limiter à 0-plugins, pas d'utilisation hors console/tmux, pas de touche de curseur...
  • disedorgue
    Expert éminent sénior
    Envoyé par Sodium
    Travailler sur code bien séparé en VIM est chiant. Naviguer entre les fichiers est chiant, chercher une fonction est chiant. Ca pousse les pisseurs de codes à tout rassembler en un seul endroit et à pondre des horreurs qu'ils seront les seuls à comprendre.
    Euh, non, vim fait très bien ce que tu lui reproches, ce que l'on peut considéré comme chiant avec vim, c'est ça configuration, mais en même temps, ça fait parti de l'apprentissage...
  • disedorgue
    Expert éminent sénior
    Envoyé par Sodium
    Autre problème avec les amateurs de VIM, ses défenseurs ont systématiquement une position dogmatique, rendant la discussion difficile
    Tout comme ces pourfendeurs

    Envoyé par Sodium
    Ce que vous décrivez ne fait absolument pas de VIM un bon IDE, ça permet juste de pisser du code plus vite, et probablement encore plus mal.
    Dans les faits, ici tu es en train de dire que tu pisses du mauvais code, puisque nous n'avons fait que te rétorquer que vim était capable de faire ce que tu lui reprochais de ne pas savoir faire