1. 44

  2. 11

    It’s been fun watching Vim play catch-up with Neovim features. I wonder if perhaps Bram should simply merge the neovim fork back into mainline?

    The recent developments on both tongs of the fork have rekindled my interest in Vim. Honest to got syntax aware completion! This used to require loading dodgy native code extentions that caused my Vim to crash in the past :)

    1. 3

      Terminal within vim now?

      From the article:

      The main new feature of Vim 8.1 is support for running a terminal in a Vim window. This builds on top of the asynchronous features added in Vim 8.0.

      Pretty cool addition. :-)

      1. 17

        Neovim has had this for over a year now. Neovim has been pretty great for pushing vim forward.

        1. 5

          I wonder if the new Vim terminal used any code from the NeoVim terminal. I know NeoVim was created in part because Bram rejected their patches for adding async and other features.

          1. 7

            I have to say, I really don’t care to see this in a text editor. If anything it’d be nice to see vim modernize by trimming features rather than trying to compete with some everything-to-everybody upstart. We already had emacs for that role! I just hope 8.2 doesn’t come with a client library and a hard dependency on msgpack.

            Edit: seems this was interpreted as being somewhat aggressive. To counterbalance that, I think it’s great NeoVim breathed new life into Vim, just saying that life shouldn’t be wasted trying to clone what’s already been nailed by another project.

            1. 6

              Neovim isn’t an upstart.

              You can claim that Vim doesn’t need asynchronous features, but the droves of people running like hell to more modern editors that have things like syntax aware completion would disagree.

              Things either evolve or they die. IMO Vim has taken steps to ensure that people like you can continue to have your pristine unsullied classic Vim experience (timers are an optional feature) but that the rest of us who appreciate these changes can have them.

              Just my $.02.

              1. 2

                Things either evolve or they die.

                Yeah, but adding features is only one way to evolving/improving. And a poor one imho, which results in an incoherent design. What dw is getting is that one can improve by removing things, by finding ‘different foundations’ that enable more with less. One example of such path to improvement is the vis editor.

                1. 1

                  Thanks, I can definitely appreciate that perspective. However speaking for myself I have always loved Vim. The thing that caused me to have a 5 year or so dalliance with emacs and then visual studio code is the fact that before timers, you really COULDN’T easily augment Vim to do syntax aware completion and the like, because of its lack of asynchronous features.

                  I know I am not alone in this - One of the big stated reasons for the Neovim fork to exist has been the simplification and streamlining of the platform, in part to enable the addition of asynchronous behavior to the platform.

                  So I very much agree with the idea that adding new features willy nilly is a questionable choice, THIS feature in particular was very sorely needed by a huge swath of the Vim user base.

                  1. 6

                    It appears we were talking about two different things. I agree that async jobs are a useful feature. I thought the thread was about the Terminal feature, which is certainly ‘feature creep’ that violates VIM’s non-goals.

                    From VIM’s 7.4 :help design-not

                    VIM IS… NOT design-not

                    • Vim is not a shell or an Operating System. You will not be able to run a shell inside Vim or use it to control a debugger. This should work the other way around: Use Vim as a component from a shell or in an IDE.
                    1. 1

                      I think you’re right, and honestly I don’t see much point in the terminal myself, other than perhaps being able to apply things like macros to your terminal buffer without having to cut&paste into your editor…

              2. -1

                Emacs is not as fast and streamlined as Neovim-QT, while, to my knowledge, not providing any features or plugins that hasn’t got an equivalent in the world of vim/nvim.

                1. 7

                  Be careful about saying things like this. The emacs ecosystem is V-A-S-T.

                  Has anyone written a bug tracking system in Vim yet? How about a MUD client? IRC client? Jabber client? Wordpress client, LiveJournal client? All of these things exist in elisp.

                  1. 3

                    Org mode and magit come to mind. Working without magit would be a major bummer for me now.

            2. 3

              Here’s the full release notes.

              1. 3

                I think I might start a flame war but with all these features, one day Vim will be able to run Gnus. ;-)

                1. 2

                  Actually I think Vim 8 could definitely support something like Gnus. A big reason it was hard in prior Vim versions is the alck of asynchronous connection capability.

                2. 2

                  Does anyone know what highlight group to edit for the new terminal? Opened via :term and it were complete black, not adher to the colorscheme.