If it gets subsumed into Vim I'll use it without having to choose.
If it gets traction as a second thing, I'll try it.
If it's better than Vim I'll keep it.
Let them write, good luck, have fun, I'll try it if I hear from HN that it's good enough to use.
I don't think it violates "don't rewrite" because these aren't the Vim people. Vim itself won't "suffer" from the ill effects of a rewrite.
Neovim is being sold as a VIM refactor, but apparently with no new functionality
Very different from Linux (had an aim of being a playground for new features), tmux is different from screen as Clang is different from GCC, Subversion is a totally different beast from CVS
Where did you get that idea? When I read the project page (https://github.com/neovim/neovim), two of the explicit goals are:
"Enable the implementation of new/modern user interfaces without any modifications to the core source.
"Improve the extensibility power with a new plugin architecture based on coprocesses. Plugins will be written in any programming language without any explicit support from the editor. "
It is exactly designed to be a playground for new features, but with the goal of them not having to be in the core.
"There's a new project that is called Neovim that seeks to refactor and modernize the codebase"
Someone should try to make some money replacing tabs with spaces and snake_case with camelCase.
"There's a new project that is called Neovim that seeks to refactor and modernize the codebase."
I believe tmux / screen is a beautiful example, given Screen has a lot of black magic and has a very challenging codebase to work with. A lot of the philosophy built into tmux are cumulative learnings deduced from what was done correctly or incorrectly within screen. This materializes as features missing (or implemented with different intent) from tmux that exist in screen -- the philosophy behind sessions is one such big underlying principle change.
I like to think of this as similar to using a genetic algorithm to evolve an overly complex/convoluted solution over a period of time (based on some assumptions which may no longer even be applicable), and then explicitly defining/reconstructing a comparable solution using more deterministic and intentional approaches. The focus of these two development cycles are fundamentally different and perhaps neither wrong (the former attempts to discover novel ways of addressing a problem whose solution is unknown, the latter prunes this known search space).
It's basically trying to improve over vim, still using command/insertion modes, inverting the commands (by using movement/action instead of action/movement)… It's pretty configurable and the codebase is new.
definitely worth a try!