Settings

Theme

Newsletter #7 - Summer of Road

neovim.io

131 points by lwakefield 9 years ago · 35 comments

Reader

virtualwhys 9 years ago

For better or worse they awoke the sleeping giant[1]. Curious to see how things play out with the fork (i.e. will vim users stay put or move on to neovim in the coming months/years).

[1] https://github.com/vim/vim/graphs/contributors

  • JoshTriplett 9 years ago

    It's unfortunate that vim introduced similar features for managing running processes, but in a completely incompatible way, such that one vim module can't easily support both.

  • rrradical 9 years ago

    I'm not sure how it could be 'for worse'? Even Neovim benefits from the uptick in Vim patches, because they actually merge many of them into Neovim. So it seems like it can only be a good thing. Better editors for everyone.

    • nilved 9 years ago

      That's one way it could play out, but that's not the way it did play out. Vim ate Neovim's lunch because they took so long to create a release that Vim was able to copy their best features. Worse yet, they did this in a way that is not compatible with Neovim. There is a chasm between Vim and Neovim that is growing, and the incentive to cross it is shrinking.

      As someone who has watched closely Neovim's development since its announcement, and used it as my daily text editor for literal years, I feel sad to say that it is early-stage vapourware. They kicked vim into action, then vim kicked them out of it.

      • rrradical 9 years ago

        Hm, ok, that's interesting. I guess I stopped following Vim's progress once I switched to Neovim. It still seems to me that Neovim has the right overall approach (through cleanup, shedding ancient compatibility layers), but if that doesn't yield an increase in velocity in the short term then I guess it wouldn't be a big advantage.

      • akkartik 9 years ago

        Vaporware?! That's atrociously uncharitable. Care to defend that characterization? Did you call Gmail vaporware until they took the 'Beta' label out?

      • tommyallen 9 years ago

        Vim didn't eat Neovim's lunch. It made its own lunch. Vim8's async feature is a copy only in name. Comparing both async APIs, I'm almost certain that Vim8's was added spitefully. It's just so obtuse compared to Neovim's.

        • nilved 9 years ago

          Well, that one is the one people are using. Now that the question among plugin developers is "Vim or Neovim?" which one do you think they will choose? It's totally possible that Neovim will need to adopt Vim's inferior API for compatibility reasons, like they're doing with the VimL<->Lua compatibility layer.

          • tommyallen 9 years ago

            The same question can be asked about Vim 7.4 and Vim 8.0. Which should a plugin developer choose to support? I'm a plugin developer and choose to support any version that has the right features for what I'm accomplishing. For most things, there isn't anything special that needs to be done.

xwvvvvwx 9 years ago

Slow, incremental, consistent, disciplined hard work leads to amazing results.

Congratulations and huge thanks to the maintainers, I use neovim every day and love it.

  • chairmanwow 9 years ago

    I read that article and didn't get a good handle on any features that would motivate a transition from Vim. Any links you could provide?

    • brotherjerky 9 years ago

      For me, I like:

      - Neomake ( https://github.com/neomake/neomake ) which I use for async linting. I know this is now working in Vim 8, but I've been using Neovim for a while and this was exclusive for a while.

      - Vim-test ( https://github.com/janko-m/vim-test ) uses `:term` for running your tests from within vim -- this is most useful because I have a shortcut to test from current editing file, etc. I know this is also possible in vim now.

      - Mapping Meta keys in terminal -- opens up a bunch more shortcuts that weren't available before

      - `inccommand` This I believe is only in neovim, and likely not enough for anyone to switch for

      Cons: - Not in distros, gotta install manually via their PPA

      • blueyed 9 years ago

        Thanks for the link to Neomake - Neovim is still a first class citizen for it, and it was a pain to get it working on Vim (and several bugs for Vim have been filed, debugged and fixed in this process).

      • blueyed 9 years ago

        Regarding distros: Arch has it.. ;)

    • JoshTriplett 9 years ago

      :term to run a terminal in a vim window.

      Also, much more sensible defaults.

      • nilved 9 years ago

        An embedded terminal emulator is exactly what Neovim should not have.

        • blueyed 9 years ago

          Care to elaborate?

          • nilved 9 years ago

            Neovim's goal is remove cruft and shrink the codebase. Adding a terminal emulator, a completely orthogonal feature that makes no sense in a text editor to begin with, is contrary to this goal. They wasted time and worked on the wrong thing.

            • tommyallen 9 years ago

              Vim already allows you to use :shell. Neovim took it a step further with the added benefit that you can treat the output as buffer text. Just because you can't see the advantages this gives developers doesn't mean it was a waste of time.

              • nilved 9 years ago

                :shell is completely different. That's vim stepping out of the way while you run a subprocess. Moreover, vim having it is not an argument for Neovim to have it. If vim really had a terminal emulator Neovim should have removed it.

      • ape4 9 years ago

        Cool, but why?

        • JoshTriplett 9 years ago

          Avoiding multiple levels of window management, when you want to edit multiple files and have one or more additional terminals available.

          For instance, I've used this to edit a manpage with a live preview to the side in another window. Doing the same thing with screen would require running vim inside screen, and doing window management with both screen (for terminals) and vim (for everything else).

        • linsomniac 9 years ago

          I like being able to have a vim window that has a terminal in it, there are some cases where I just prefer to have it in my terminal environment rather than switching to another real window. Mostly this is for things where I want to be in the same directory as my editor to run greps through my source, etc...

          It's also nice sometimes to do something and then be able to search through the history with "/". At times I've then gone back and cut and pasted between the terminal output and a document I was working on, rather than using my window manager cut and paste.

          I was, however, fairly surprised that I could no longer ":sh" out to run something. Had to get used to ":term" or ":spl term://bash".

          • espadrine 9 years ago

            > I was, however, fairly surprised that I could no longer ":sh" out to run something

            Honestly, :sh always felt weird in vim.

            Either you are in a terminal, and Ctrl-Z is a much better experience, since you maintain your existing session.

            Or you are in the GUI, and the terminal emulation is poor and slow.

        • tommyallen 9 years ago

          Speaking practically, if you're using a terminal to use Neovim, you get consistent window management. If you're using one of Neovim's GUI clients, you also get a terminal in the GUI's frame.

        • baq 9 years ago

          no more confusing C-w and C-b in tmux, perhaps?

    • erikb 9 years ago

      Same here. Scrolled through it and the only thing I got is that there is a command called ":smile" which is not worth switching to me.

      Doesn't mean there is none, it's just hard to find.

      • doppioandante 9 years ago

        :smile is a vim command that was introduced in the new version of vim, I'm not sure but it seems like they are making fun of it. There's always been a bit of hostility between the neovim people and Braam, last being the fact that Braam finally implemented jobs in Vim 8, but using a different API than neovim.

chappi42 9 years ago

It's a joy to read such a polite newsletter. Friendly towards to original source. Friendly and open as a community. Everythings seems well organized and distributed. Well done!

Also thanks a lot for the tool, I use neovim almost daily.

brotherjerky 9 years ago

As a daily neovim user, love the progress! Here's to a great 2017!

michaelmior 9 years ago

Fantastic work by the Neovim folks as usual. However, this sentence stuck out to me

> The API should only grow, not break

This seems to ensure eventual bloat.

ape4 9 years ago

Is neovim packaged for distros?

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection