Developpez.com - Rubrique EDI

Le Club des Développeurs et IT Pro

Vim 8.2 disponible, l'éditeur de texte open source multiplateforme vient avec le support des fenêtres pop-up,

La fonctionnalité la plus demandée par les développeurs d'extensions

Le 2019-12-14 16:15:23, par Michael Guilloux, Chroniqueur Actualités
Vim est un éditeur de texte multiplateforme extrêmement personnalisable et inspiré du logiciel vi, un éditeur de texte connu sur les systèmes UNIX. La dernière version majeure de Vim (la version 8.0) a été publiée il y a plus de trois ans, avec le support de fonctionnalités asynchrones.

Sur ces fonctionnalités, Vim 8.1, une version mineure publiée l'année dernière, a construit un support pour l'exécution d'un terminal dans une fenêtre Vim. La fenêtre de terminal peut ainsi être utilisée, entre autres, pour exécuter une commande, telle que "make", tout en suivant à la fois sa progression et en travaillant dans une autre fenêtre ; exécuter un shell où vous pouvez exécuter une série de commandes ; utiliser le nouveau plugin de débogage de terminal pour déboguer dans l'éditeur, ce qui est particulièrement utile sur une connexion ssh, lorsque l'ouverture d'autres terminaux n'est pas possible ou peu pratique.

Vim 8.2 est maintenant disponible. Dans cette version mineure, de nombreux bugs ont été corrigés, la documentation a été mise à jour, la couverture des tests a été améliorée, etc. Mais il y a aussi quelques nouvelles fonctionnalités intéressantes.

Lors de la conférence VimConf 2018, les développeurs d'extensions ont exprimé ce qu'ils voulaient de Vim. Si c'était une très longue liste de fonctionnalités demandées qui a été fournie au développeur de l'éditeur de texte, deux fonctionnalités se démarquaient du lot : les fenêtres contextuelles (pop-up) et les propriétés du texte. Après plus d'un an de développement, ces fonctionnalités sont maintenant disponibles dans Vim.


La principale nouvelle fonctionnalité de Vim 8.2 est la prise en charge des fenêtres contextuelles. Celles-ci peuvent être utilisées pour afficher du texte au-dessus d'autres fenêtres et sont très flexibles : elles peuvent être positionnées relativement au texte, ou à une position absolue ou tout simplement juste au milieu de l'écran. La taille peut être fixe ou peut être ajustée pour s'adapter au texte. Une valeur "zindex" spécifie quelle fenêtre contextuelle doit être au-dessus des autres. La fenêtre contextuelle peut aussi réagir aux entrées de l'utilisateur.

Cela a nécessité de gros efforts de développement. Bien que le support de fenêtre existant pouvait être utilisé, les fenêtres contextuelles sont suffisamment différentes pour nécessiter beaucoup de logique supplémentaire, surtout pour mettre à jour l'écran efficacement et pour faciliter leur utilisation par les développeurs d'extensions. Vous n'avez par exemple pas besoin d'indiquer à Vim où il doit afficher une fenêtre pop-up. Il suffit de donner un point de référence et le texte à afficher, et Vim déterminera la taille et l'endroit où la fenêtre convient le mieux.

Les propriétés de texte, la deuxième nouveauté la plus importante de cette version de Vim, peuvent être utilisées pour quelque chose d'aussi simple que de mettre en surbrillance un extrait de texte, ou quelque chose d'aussi compliqué que d'utiliser un analyseur (parser) externe pour localiser des éléments de syntaxe et les mettre en surbrillance de manière asynchrone. Cela peut être utilisé à la place de la mise en évidence de syntaxe basée sur le modèle.

D'autres nouvelles fonctionnalités notables débarquent aussi dans Vim 8.2. Il s’agit notamment d’une commande const pour déclarer une variable qui ne peut pas changer ; le chaînage de fonctions pour les appels de méthode ; des améliorations du programme d'installation pour Windows et bien d’autres.

Source : Blog Vim

Et vous ?

Utilisez-vous Vim ? Qu'en pensez-vous ?

Voir aussi :

SpaceVim : utiliser l'éditeur de texte open source VIM en tant qu'EDI Java grâce à des plugins dédiés, intéressant par rapport à Eclipse ou intelliJ ?
Une vulnérabilité affecte les éditeurs Vim et NeoVim et permet à des hackers de prendre le contrôle des ordinateurs, un correctif est disponible
SpaceVim : une version stable de l'éditeur de texte est disponible, la version v1.0.0 qui apporte un lot de nouveautés et correction de bogues
Vim : la version 8.1 de l'éditeur de texte multiplateforme est disponible avec le support de l'exécution d'un terminal dans une fenêtre Vim
  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