Un point d'avancement sur Neovim

Posté par  (site web personnel) . Édité par bubar🦥 et Benoît Sibaud. Modéré par Pierre Jarillon. Licence CC By‑SA.
Étiquettes :
65
21
avr.
2015
Ligne de commande

Le logo de Neovim

Neovim est un éditeur de texte, issu d'un fork de Vim. Il vise à le rendre plus moderne. En particulier, faciliter le développement et l'utilisation de greffons, et permettre de l'intégrer plus facilement dans d'autres outils.

Le fork date d'un peu plus d'un an et le travail commence à payer. En plus d'un gros nettoyage de la base de code, les développeurs de Neovim ont mis en place un système de plugins, de greffons, qui peuvent désormais tourner à l'extérieur du processus principal et communiquer avec lui via msgpack. On peut également apprécier la possibilité de lancer un terminal à l'intérieur de Neovim, grâce à l'inclusion récente de la libvterm.

Mais pour accélérer le développement, Neovim a besoin de vous. Le développeur principal, @tarruda passe une partie de son temps sur Neovim et une autre partie à faire des missions en freelance pour gagner sa vie. Grâce à des dons, il pourrait diminuer le temps passé sur les missions, et ainsi passer plus de temps à faire vivre Neovim.

Personnellement, je suis un utilisateur comblé de Neovim depuis quelques mois. Bien que celui-ci soit toujours en version alpha, il est très stable et le passage de Vim à Neovim s'est fait sans aucun souci. Aussi, j'ai participé à l'appel à dons et vous encourage à faire de même pour promouvoir ce projet qui le mérite bien !

Aller plus loin

  • # Pas mal

    Posté par  (site web personnel) . Évalué à 8.

    Il a plein de bonnes idées ce gars.
    Notamment :

    Attach/detach to Neovim instances running in the background(like tmux)
    Connect to remote instances. Use a Neovim GUI with it's built-in terminal emulator to manage servers, for example.

    ça ma plairait bien, même si screen fait un peut le job dans un sens.
    En tout cas le projet me parait saint (actif et dans une voie que j'approuve) je vais contribuer (modestement mais tout de même).

    kentoc'h mervel eget bezan saotred

    • [^] # Re: Pas mal

      Posté par  (site web personnel) . Évalué à 6.

      Attach/detach to Neovim instances running in the background(like tmux)

      Cela pourrait d'ailleurs peut être se faire via un greffon tmux afin de ne pas ré-inventer la lune (et puis pas mal d'utilisateur de vim utilise tmux (ou screen - perso tmux avec un config a la screen).

      • [^] # Re: Pas mal

        Posté par  (site web personnel) . Évalué à 2. Dernière modification le 23 avril 2015 à 09:40.

        Cela pourrait d'ailleurs peut être se faire via un greffon tmux afin de ne pas ré-inventer la lune (et puis pas mal d'utilisateur de vim utilise tmux (ou screen - perso tmux avec un config a la screen).

        Je trouve ça saint de ne pas embarquer une dépendance à tmux, pour trois raisons :

        • Tu laisses le choix à l'utilisateur de gérer ses sessions, soit avec tmux, soit avec neovim, soit avec les deux. Voir même avec un autre outil (dinosaures qui utilisent encore screen ?)
        • Tu permet à l'utilisateur d'utiliser neovim hors d'un terminal. En effet, tmux est conçu pour être utilisé à l'intérieur d'un terminal, par exemple il a besoin d'un terminal pour afficher les fenêtres d'une sessions (même si le serveur tmux sait survivre et maintenir les sessions sans terminal).
        • Si tu embarques une dépendance, tu couples le cycle de vie des deux logiciels : si tmux n'est plus supporté, neovim doit reprendre le flambeau et/ou changer son système de gestion de session.

        Je justifie par mon cas d'usage : j'utilise gvim + un seul terminal avec tmux. Cela me permet de gérer l'agencement des deux (terminal/éditeur) avec un gestionnaire de fenêtres, plutôt qu'avec vim ou tmux. En effet, ces deux outils ne sont pas des outils dédiés à la gestion de fenêtres, bien qu'ils se débrouillent très bien dans ce domaine. En particulier, les possibilités du gestionnaire de fenêtres dépassent celles de vim et tmux, quand on veut intégrer les fenêtres de l'éditeur et du terminal avec d'autres logiciels (messagerie, navigateur Web,…). Ce qui est, avouons le, plutôt pratique.

        Après, rien n'empêche de proposer un greffon qui intègre les deux, mais je ne l'utiliserai pas :)

        PS : J'ajouterais le lien vers les projets liés, qui est hyper/méga alléchant !

        • [^] # Re: Pas mal

          Posté par  (site web personnel) . Évalué à 2.

          dinosaures qui utilisent encore screen ?

          Moi pour faire du terminal série. C'est plus pratique que minicom (je trouve) et j'ai pas envie de lancer putty pour faire cela.

          screen /dev/ttyS0

          • [^] # Re: Pas mal

            Posté par  (site web personnel) . Évalué à 2. Dernière modification le 23 avril 2015 à 10:41.

            Moi pour faire du terminal série. C'est plus pratique que minicom (je trouve) et j'ai pas envie de lancer putty pour faire cela.

            Rassures-moi, tu fais ça sous Cygwin ? Sinon j'ai rien compris.

            J'ai un peu le troll facile, mais le développement/maintient de screen s'est arrêté il y a plus de 5 ans (veuillez excuser ma flemme de sourcer), et tmux est « quasi-officiellement » son successeur (les configs tordues de screen (la mienne faisait plus de 500 lignes) étant même utilisables avec tmux).

            Il reste des petites choses qu'on pouvait faire avec screen et pas avec tmux, mais je n'ai jamais vu de cas d'usage. Est-ce que la gestion du terminal série en fait partie ? Je serais étonné,mais c'est possible.

            • [^] # Re: Pas mal

              Posté par  . Évalué à 6.

              J'ai un peu le troll facile, mais le développement/maintient de screen s'est arrêté il y a plus de 5 ans (veuillez excuser ma flemme de sourcer)

              Pourtant il y a eu une release (4.2.1) il y a un an.
              Mais c’est vrai que le développement a été au point mort pendant 6 ans (depuis 2008), mais Amadeusz Sławiński a repris le flambeau on dirait.

            • [^] # Re: Pas mal

              Posté par  . Évalué à 3.

              Et à l’opposé total :

              Personne pour utiliser dtach ?

              dtach is intended for users who want the detach feature of screen without the other overhead of screen. It is tiny, does not use many libraries, and stays out of the way as much as possible.

            • [^] # Re: Pas mal

              Posté par  (site web personnel) . Évalué à 4.

              Va faire un "screen /dev/ttyUSB0" sous tmux ! Tu utilises quoi pour aller sur un port console RS232 (un commutateur par exemple).

              J'ai découvert il y a peu que putty pouvait faire la même chose et putty sous GNU/Linux… J'avoue que je ne l'ai jamais utilisé que sous Windows mais il y en a qui l'utilise sous GNU/Linux.

              apt-cache search putty

              • [^] # Re: Pas mal

                Posté par  . Évalué à 1.

                Va faire un "screen /dev/ttyUSB0" sous tmux ! Tu utilises quoi pour aller sur un port console RS232 (un commutateur par exemple).

                Pour travailler sur le port série, j'ai noté cu (provenant du package UUCP) qui est simple à utiliser. J'imagine que socat doit fonctionner aussi, mais j'ai toujours eu du mal avec cet outil.

        • [^] # Re: Pas mal

          Posté par  . Évalué à 6.

          reynum:

          En tout cas le projet me parait saint

          vlamy:

          Je trouve ça saint de ne pas embarquer une dépendance

          Il y a eu une nouvelle réforme de l’orthographe ou je rate une private joke ?

          • [^] # Re: Pas mal

            Posté par  (site web personnel) . Évalué à 2.

            Oups ! La connerie c'est contagieux, peux pas mieux dire. Pardon…

          • [^] # Re: Pas mal

            Posté par  (site web personnel) . Évalué à 2.

            Bha quoi il y a bien la porte saint cloud à Paris
            Je peux bien m'inventer un projet saint vim non ? :-D

            kentoc'h mervel eget bezan saotred

          • [^] # Re: Pas mal

            Posté par  . Évalué à 3.

            Il y a eu une nouvelle réforme de l’orthographe ou je rate une private joke ?

            Qu'a chez ce saint que je ne saurai voir ? :)

    • [^] # Re: Pas mal

      Posté par  (site web personnel) . Évalué à 9.

      Suffit d'utiliser emacs daemon / emacsclient. Mais il faut penser à redimensionner le serveur dans ce cas.
      Oops pas pu attendre vendredi -> []

    • [^] # Re: Pas mal

      Posté par  . Évalué à 10.

      En tout cas le projet me parait saint

      Il est sponsorisé par l'abbaye du Barroux ?

      ( c'est bizarre, quand on sait que VI, VI, VI est l'éditeur de la bête )

      *splash!*

  • # navigation terminal ?

    Posté par  . Évalué à 3.

    Est-ce que dans ce nouveau terminal on peut se mettre en mode normal pour naviguer dans le buffer du terminal avec les touches de navigation normales ? Ça serait gagné par rapport à un terminal normal ou à tmux.

    (dans ce cas on se rapproche du shell-mode d'emacs :) (qui a une super émulation de vim avec evil-mode d'ailleurs :) ))

    • [^] # Re: navigation terminal ?

      Posté par  . Évalué à 2.

      Un peu HS, mais termite est AMHA un excellent émulateur de terminal qui fait ça très bien.

      • [^] # Re: navigation terminal ?

        Posté par  (site web personnel) . Évalué à 4.

        J'utilise urxvt comme terminal depuis un paquet d'années mais je me pose la question de passer à un autre terminal. Il y a plusieurs raisons à ça, dont l'une d'entre elles est d'avoir de "vraies" couleurs dans Neovim. J'avais déjà vu termite, mais comme il n'est pas (encore) packagé dans debian/ubuntu, j'ai eu la flemme de le tester. Du coup, je t'encourage fortement à écrire une dépêche LinuxFr.org pour présenter ce terminal. Ça pourrait bien me convaincre de surmonter cette flemme et l'essayer/l'adopter.

    • [^] # Re: navigation terminal ?

      Posté par  (site web personnel) . Évalué à 10.

      Est-ce que dans ce nouveau terminal on peut se mettre en mode normal pour naviguer dans le buffer du terminal avec les touches de navigation normales ?

      Oui, ça permet de faire ça. Par exemple, sur cette capture, je fais une sélection rectangulaire d'une sortie de cowsay dans un terminal géré par Neovim :

      Capture d'écran de Neovim avec un terminal

      • [^] # Re: navigation terminal ?

        Posté par  . Évalué à 1.

        merci, ça a l'air bien ça avec neovim ou termite.
        Mais je compare avec ce que je connais, et ça m'a l'air toujours bien moins configurable qu'un terminal dans emacs avec shell-mode (qui n'est pas toujours pratique ceci dit).

      • [^] # Re: navigation terminal ?

        Posté par  (site web personnel) . Évalué à 3.

        Franchement les vaches ont un de ces mojo chez les dev Linux :
        cow_in_linux

        kentoc'h mervel eget bezan saotred

  • # vive les fork!

    Posté par  . Évalué à 10.

    I faut en tout cas féliciter le developpeur principal pour avoir eu le courage de forker vim et surtout de continuer le développement malgres l'opposition de beaucoup dans la communauté. C'est bien d'eviter les forks au maximum mais quand il y a des divergences fondamental dans la direction a prendre c'est peut permettre de beau progres!

    • [^] # Re: vive les fork!

      Posté par  (site web personnel) . Évalué à 4.

      Oui, et j'apprécie beaucoup l'état d'esprit de tarruda. Il passe beaucoup de temps à aider les autres, même les débutants qui posent des questions débiles.

    • [^] # Re: vive les fork!

      Posté par  . Évalué à 3.

      On avait un peu peur que ça soit un coup d'épée dans l'eau au vu de la charge de travail considérable. Mais finalement c'est très prometteur !

  • # msgpack

    Posté par  (site web personnel) . Évalué à 3.

    Je découvre msgpack … finalement c'est un peu la réinvention de BER :D

    "It was a bright cold day in April, and the clocks were striking thirteen" - Georges Orwell

  • # Mélanger vim et emacs

    Posté par  . Évalué à 2.

    Dans cette lignée d'évolution des dinosaures vim et emacs, j'ai découvert l'autre jour sur hacker news : spacemacs

    Ils parlent un peu de neovim dans les commentaires sur hacker news.

    La fin d'une guerre historique ? Ou son renouvellement : neovim vs spacemacs, voire vs atom ?

    • [^] # Re: Mélanger vim et emacs

      Posté par  . Évalué à 1.

      Je ne connaissais pas! Vraiment pas mal comme logiciel, surtout le raccourci 'fd' à la place de la touche escape de vim.

      • [^] # Re: Mélanger vim et emacs

        Posté par  . Évalué à 4.

        Perso, j'utilise dans mon vimrc : inoremap kk <esc>

        C'est plus rapide que fd ou jj (solution que l'on retrouve souvent dans les .vimrc), et comme c'est la lettre la moins utilisée en français, il n'y a pas de surbrillance désagréable (peut-être existe-t-il une solution pour supprimer cet effet, sans doute avec elisp).

        • [^] # Re: Mélanger vim et emacs

          Posté par  . Évalué à 1.

          Ce que je voulais souligner c'est le comportement non bloquant du "fd". Avec inoremap, quand tu tapes sur la première touche tu as un temps où vim attend la prochaine touche qui est plutôt long.

  • # Beau

    Posté par  (site web personnel) . Évalué à 6.

    Côté design et logo ils ont tapé fort, j'adore c'est vraiment moderne. J'espère vraiment que ce projet marchera.

    Je suis un grand fan de vim, mais j'avoue qu'il lui manque un peu de modernité.

    git is great because linus did it, mercurial is better because he didn't

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.