Removing pretty powerful feature just because author of fork doesn't use it sounds… well, actually author of fork can remove whatever he likes, but presenting neovim like "refactord vim with more features" isn't fair or even plausible in this case. And for what reasons? Oh, I see, it makes code complicated. Did he think vim'c codebase is scary for no reason? Removing all the code from vim would be the ultimate simplification in that case. It's not popular feature? Well, I believe that there can still be more vim users that don't use macros, maybe remove them as well? Or maybe just replace vim with nano?
I, personally, used ex-mode only a couple of times, so even if I will use neovim I don't think I would care. But that just doesn't sound like a right think to do.
They're not removing command line mode, they're removing interactive Ex-mode[1]. Batch ex-mode from the command line (nvim -e) stays. From the research the team has done, most users 1) don't even know about it, 2) are annoyed when it is triggered by accident, and 3) when they do know about it, just remap it. And yes, there are a few users of ex-mode out there.
A huge part of good design is being able to make good (and often hard) decisions about when and where to simplify. This includes things like occasionally eliminating features. Ones that have shipped. For months, or even decades.
There are very solid arguments presented in that thread for interactive Ex-mode's removal. Specifically, one problem that @tarruda mentions is that ex-mode is one of the blockers for "implementing GUIs over msgpack API." Seriously, I'd trade ex-mode for that in a heartbeat!
I don't know that there is any good reason to allow a move from visual mode to ex mode (or vice-versa). I do think that ex mode is very important - though I would expect you could implement it as its own UI over msgpack?
As neovim matures I think the opportunities for rich extension and scripting are going to blow away anything vi/vim users have ever had. I think ex-mode could be reimplemented as you suggest, or we'll end up with other awesome approaches that were simply unthinkable in the old architecture and codebase.
It looks like tarruda explicitly says, "As for the ex command-line utility, that can easily be implemented as separate program that talks to nvim via msgpack-rpc".
This seems like a reasonable separation of concerns.
The project aims to refactor vim's codebase to simplify development and allow new developers to join in by removing old, deprecated code. It doesn't say it is supposed to be 1:1 replacement only with newer code, and from what I've read on both their GitHub issues page and Hacker News, 99% of Vim users actually don't use Ex-mode. There is simply no point spending time and resources to keep in in the tree for the 1% of people actually using it. And even if ex-mode is something some people can't live without, there is still good ol' Vim.
Personally, I think this is an excellent change. If neovim remains 100% compatible with vim, down to every minor issue, then it will be very hard to usefully improve.
Personally I don't use vim, even though I like the concept of vim, because it simply doesn't fit with the ecosystem I want to use (it seems to be hard to integrate clang for auto-complete and syntax highlighting into vim for example, without long hangs or strange visual effects for example, because vim doesn't support threading for example)
I'd like very much if Neovim adds functionality like YouCompleteMe out of the box. It's probably the most "complicated" in terms of dependencies, etc. VIM plugin that I have to install.
> I, personally, used ex-mode only a couple of times, so even if I will use neovim I don't think I would care. But that just doesn't sound like a right think to do.
So he shouldn't remove it because of some strongly held principle of a random person on the internet? Even though that person in practice doesn't have any problem with it? That sounds backwards.
Until neovim actually does something cool and new that you want to use. Ex mode isn't something I need often, but it's fantastic on a sufficiently slow connection (of which there are fewer these days) or a sufficiently broken terminal (slightly more common), and when you need it you need it to work.
When neovim does something new and cool that I want to use, then ex-mode-in-vim will obviously not support that new and cool something. If neovim continues to provide an ex mode, then it will be available to me.
Obviously, whether this makes sense depends on what the something is - if it's some GUI flourish, then it's irrelevant either way, but a GUI flourish is not going to be why I move to neovim in the first place.
I, personally, used ex-mode only a couple of times, so even if I will use neovim I don't think I would care. But that just doesn't sound like a right think to do.