News for hackers. Stuff that matters.
Re:The Future of the Vim Project by meitham on Thursday August 10, 2023 @07:19AM (#37074651)
I do hope this gets taken as a chance to merge Vim and Neovim, otherwise a divided community is not great for the editor
Re:The Future of the Vim Project by suprjami on Thursday August 10, 2023 @07:41AM (#37074849)
* * *
Re:The Future of the Vim Project by djtango on Thursday August 10, 2023 @07:45AM (#37074872)
I've not tried neovim mostly because I'm hopelessly loyal. curious what features were cut?
Re:The Future of the Vim Project by suprjami on Thursday August 10, 2023 @07:50AM (#37074931)
vim-cscope, which is the only reasonable way to read large C projects like the Linux kernel or BSD
Re:The Future of the Vim Project by umanwizard on Thursday August 10, 2023 @08:20AM (#37075259)
What’s wrong with clangd via lsp?
Re:The Future of the Vim Project by devnullbrain on Thursday August 10, 2023 @09:38AM (#37076024)
n.b. LSP support was the reason cscope support was dropped
Re:The Future of the Vim Project by kps on Thursday August 10, 2023 @09:58AM (#37076232)
For one thing, LSP (last I checked) was still unable to distinguish between read and write.
Re:The Future of the Vim Project by suprjami on Thursday August 10, 2023 @04:17PM (#37081200)
You need to build the project to generate compilation database. I switch around kernel versions far too often for that to be viable.
Re:The Future of the Vim Project by random_mutex on Thursday August 10, 2023 @07:45AM (#37074884)
What features?
Re:The Future of the Vim Project by kzrdude on Thursday August 10, 2023 @07:53AM (#37074975)
One "meta feature" that was dropped was the ability to build the editor with or without different features. vim --version shows a long list of +/- features, neovim doesn't do that.

I'm sure neovim dropped a lot but I don't have the full overview. Prominently it dropped support for giving !commands access to the actual tty. Commands that access the tty have to be used through the command :term instead.

Neovim prominently dropped support for gvim as well (GTK UI). Instead they focus on being embeddable in new ways to create UIs.

Re:The Future of the Vim Project by devnullbrain on Thursday August 10, 2023 @09:38AM (#37076031)
!pwd works for me in nvim, I use it every day
Re:The Future of the Vim Project by kps on Thursday August 10, 2023 @10:17AM (#37076458)
Try something that uses input, e.g. a pager (`:!git log`), or a password (`:!sudo something`), or `:!top`, or something with even the simplest formatted output (`:!watch -n1 lsusb`).
Re:The Future of the Vim Project by kzrdude on Thursday August 10, 2023 @12:06PM (#37077955)
!git log is a good example. It works differently in vim and neovim.
Re:The Future of the Vim Project by random_mutex on Thursday August 10, 2023 @11:32AM (#37077506)
>One "meta feature" that was dropped was the ability to build the editor with or without different features. vim --version shows a long list of +/- features, neovim doesn't do that.

What's wrong with all features enabled by default?

> I'm sure neovim dropped a lot but I don't have the full overview.

https://neovim.io/doc/user/vim_diff.html

>Prominently it dropped support for giving !commands access to the actual tty. Commands that access the tty have to be used through the command :term instead.

Why would you run an interactive command with `:!` ?

Re:The Future of the Vim Project by kzrdude on Thursday August 10, 2023 @11:49AM (#37077711)
What's wrong? I didn't mean it like that, I've just listed it as a thing that was removed.

And about !, It's also listed as a thing that changed, no judgment. Regarding usecases I think if it's possible, some user will take advantage of it.

Re:The Future of the Vim Project by NobodyNada on Thursday August 10, 2023 @12:19PM (#37078136)
> Why would you run an interactive command with `:!` ?

I ran up against this limitation recently. The kitty terminal exposes APIs allowing processes to communicate with the terminal using escape codes. I wanted to configure Neovim to access the system clipboard using kitty’s API, so that I could copy/paste from within Neovim even over SSH. However, this would require Neovim to give the clipboard subprocess access to the controlling TTY. (Running it within :term would not work, as the escape sequences would thus be passed to Neovim’s virtual terminal emulator, not the instance of kitty that Neovim itself is running within.)

Re:The Future of the Vim Project by aumerle on Thursday August 10, 2023 @01:25PM (#37079000)
neovim supports OSC 52 out of the box so clipboard over SSH should just wrk in kitty or any terminal that supports OSC 52. kitty of course supports a lot more than OSC 52 but for basic opy/paste of plain text, OSC 52 is sufficient.
Re:The Future of the Vim Project by NobodyNada on Thursday August 10, 2023 @03:49PM (#37080860)
Neovim doesn’t support OSC 52 unless I’m missing something. There’s an open issue: https://github.com/neovim/neovim/issues/3344

It’s easy to implement OSC 52 copy with a simple script/plugin, but apparently not paste without adding some code inside of Neovim itself.

Re:The Future of the Vim Project by kps on Thursday August 10, 2023 @12:29PM (#37078267)
> Why would you run an interactive command with `:!` ?

Why wouldn't you? Vi's `:!` is simple and general.

If neovim has an equivalent, it must be obscure enough that no one has mentioned it yet, and it seems to me that the obvious thing to do would be to make `:!` do it by default, and put neovim's current `:!` behaviour behind a `compatible` flag.

Re:The Future of the Vim Project by kzrdude on Thursday August 10, 2023 @01:42PM (#37079247)
That does sound kind of like a missed opportunity. Not sure why it's not like that.

The closest neovim equivalent I can think of is :term <command>

Re:The Future of the Vim Project by kps on Thursday August 10, 2023 @02:01PM (#37079563)
`:term` is much more intrusive; you can't just `:!foo` and get on with what you're doing. For one thing, you can't `:term foo` with a modified file, which is not an unusual state when you're editing.
Re:The Future of the Vim Project by kzrdude on Thursday August 10, 2023 @02:31PM (#37079920)
Using `:!` as a filter for text and running interactive commands doesn't overlap for me, so I haven't seen that as an issue.
Re:The Future of the Vim Project by suprjami on Thursday August 10, 2023 @07:50AM (#37074933)
vim-cscope, which is the only reasonable way to read large C projects like the Linux kernel or BSD
Re:The Future of the Vim Project by random_mutex on Thursday August 10, 2023 @02:57PM (#37080274)
A language server is way better than cscope ...if you can get clangd to work with your codebase.
Re:The Future of the Vim Project by suprjami on Thursday August 10, 2023 @04:19PM (#37081211)
It works but I don't want to build the kernel to generate the compilation database every time I check out a new tag or branch. With BSD it would be even worse.
Re:The Future of the Vim Project by ctenb on Thursday August 10, 2023 @07:21AM (#37074665)
Yes, although the forks have diverged quite a bit by now :(
Re:The Future of the Vim Project by oblio on Thursday August 10, 2023 @07:30AM (#37074731)
True, but if there's a will, there's a way.

They can compromise on the process and maybe aim for a medium to long term merge.

I.e. they start aligning coding conventions, standards, etc, and when they're ready 1-2 years from now they pull the switch and re-merge the code bases.

Re:The Future of the Vim Project by halostatue on Thursday August 10, 2023 @09:59AM (#37076252)
There is one thing that vim provides that the neovim folks have said that they will never provide, and that’s a GUI.

Unless the vim project gives that up (and there will be significant outrage over that), or unless the neovim folks give up that particularly shortsighted stance (having a first-party cross-platform pluggable GUI is a good thing), I do not see a merge ever happening.

Re:The Future of the Vim Project by nerdponx on Thursday August 10, 2023 @07:26AM (#37074711)
They're already getting to the point of being two different editors with a common lineage and legacy support for Vimscript. The Neovim people also probably don't want to re-merge with Vim, it would probably have to be Vim basically winding down development. Doesn't seem likely.
Re:The Future of the Vim Project by bhaak on Thursday August 10, 2023 @07:53AM (#37074976)
> They're already getting to the point of being two different editors with a common lineage and legacy support for Vimscript.

Let's see how much traction Vimscript9 will get. From the distant view of an outsider I got strong NIH vibes from that.

> it would probably have to be Vim basically winding down development. Doesn't seem likely.

It depends on how much Bram was the main focus point of development and if the remaining contributors are able to transition to a less centric development structure.

I would rather expect a EGCS/GCC "merger" than a true code merger. But only time will tell.

Re:The Future of the Vim Project by ftaghn on Thursday August 10, 2023 @08:38AM (#37075430)
> Let's see how much traction Vimscript9 will get.

In practice, none. It's a wasteland. Extensions that aim to be compatible with both vim / neovim use the old vimscript, while lua has very, very significant traction in the neovim world among people who try to bring IDE like feature to vim. The amount of people willing to write extensions that only work on vim proper, which is what would happen if they used vim9script, is close to non existent.

> I would rather expect a EGCS/GCC "merger"

Or libav vs ffmpeg.

Re:The Future of the Vim Project by Legion on Thursday August 10, 2023 @01:44PM (#37079285)
> Let's see how much traction Vimscript9 will get. From the distant view of an outsider I got strong NIH vibes from that.

Honestly, that's what most recent Vim development in the Neovim era looks like to me.

Bram rejected async patches for years. Neovim gets made and proves out the demand for async. Vim suddenly is motivated to cook up their own, incompatible version of async.

When Neovim began, I thought the inevitable future was the Vim project cherry-picking the best features from Neovim each time such a feature reached sufficient maturity and popularity, and merging Neovim's implementations back into the core project. I underestimated how strong the NIH syndrome was with Vim proper.

Re:The Future of the Vim Project by kzrdude on Thursday August 10, 2023 @07:22AM (#37074683)
Why not? vim and neovim have been separate for a long time already, wouldn't it work to continue like that?
Re:The Future of the Vim Project by oblio on Thursday August 10, 2023 @07:31AM (#37074747)
If the project leads can agree to a shared vision - which frankly should be similar considering the scope of the projects - it's most likely better if they merge.

Open Source projects never have enough resources and splitting them into 2 clone projects is generally not great.

I know about competition but it's not like Vim/Neovim, programming text editor, is lacking in competition even without the other side of the fork :-)

Re:The Future of the Vim Project by tokai on Thursday August 10, 2023 @07:34AM (#37074780)
>better if they merge

You and meitham are very focused on this, but it is very much an opinion and not a fact.

Re:The Future of the Vim Project by oblio on Thursday August 10, 2023 @07:41AM (#37074851)
It is an opinion backed by watching Open Source projects for several decades.

Long lived forks are rarely good for an individual project. Frankly, the most successful forks I've seen unfortunately... kind of strangle off the original. Jenkins/Huson, LibreOffice/OpenOffice, MariaDB/MySQL, ConsoleZ/Console2/... Though there are cases where the original wins out: Emacs/XEmacs, etc.

Especially since it's not like Vim/Neovim are already lacking in features to implement, bugs to fix, ways to extend their architectures :-)

Re:The Future of the Vim Project by roblabla on Thursday August 10, 2023 @08:03AM (#37075091)
The first three all have the same story though, where Oracle acquired the project, forced changes that drove the original authors out, who then forked the project and resumed development there. So Hudson/OpenOfice/MySQL essentially lost the key developers that had all the institutional knowledge, killing them.

I do think there would be a lot to gain to merge vim/neovim, but they're in a very different position. I don't know enough about the other two forks to draw parallels to them.

Re:The Future of the Vim Project by 5e92cb50239222b on Thursday August 10, 2023 @12:54PM (#37078609)
> killing them

MySQL 8 was released nine years after the split, and was one of the best releases throughout the project's history (cleaning up many decades old problems, modernizing the underlying storage engine, introducing window functions, CTEs, transactional DDL, lots of other stuff like that).

Re:The Future of the Vim Project by tokai on Thursday August 10, 2023 @07:55AM (#37075007)
Eh I'm not going to go through your list, but putting libre/open office on there is disingenuous. Open office was run into the ground by Oracle, not because of the forking.
Re:The Future of the Vim Project by bhaak on Thursday August 10, 2023 @08:01AM (#37075071)
Couldn't you say the same about Hudson and MySQL?
Re:The Future of the Vim Project by umanwizard on Thursday August 10, 2023 @08:18AM (#37075241)
LibreOffice is the mainline, not a fork in anything but the name.
Re:The Future of the Vim Project by yjftsjthsd-h on Thursday August 10, 2023 @11:04AM (#37077078)
There are also cases where the fork is caused by differences in philosophy and result in divergent codebases that are perfectly fine doing their own things, like NetBSD and OpenBSD.
Re:The Future of the Vim Project by hnfong on Thursday August 10, 2023 @11:48AM (#37077702)
The ones that "strangle off the original" are the successful cases. It means that users were given a choice, and they chose to use the forks, which were (for them) "better".

Without the forks, there would be no competition. Would the improvements have been included in the original project if there was no fork? Maybe. But usually forks happen because the intended improvements were either rejected or otherwise not accepted. If there was no fork, and the forked project did not "strangle" the original one, users would not have the chance/option to use the "better" one.

I think all you showed was that competition is good. I don't see how you would come to the conclusion that merging is better.

In a sense this is mostly a philosophical question of the Ship of Theseus kind. What happens is that when one side gains traction because of some specific feature, the other side either gets obsolete quickly, or they adopt the same features. So in the end everything converges in feature (and often even code), only not necessarily in name/leadership.

Re:The Future of the Vim Project by 5e92cb50239222b on Thursday August 10, 2023 @01:05PM (#37078742)
MariaDB didn't "strangle off" MySQL. The latter is still significantly more popular (probably 10 times as much, if not more) if you look outside our HN/Linux bubble. It also had one of the best releases ever under Oracle's guidance back in 2018, many years after the split, when very few of the original developers were still at Oracle. Meanwhile, MariaDB development slowed down significantly over the past few years as they're having financial problems.

(You might counter that by saying that the last MySQL release was in 2018, but it's not really comparable: Oracle does all of its development behind closed doors and then does major code dumps when it's ready. MariaDB prefer shipping small releases every 6 months or so.)

Re:The Future of the Vim Project by nicce on Thursday August 10, 2023 @07:42AM (#37074859)
It depends on the differences of their goals and principles.

It is fact that 1 + 1 > 1 if you compare available resources.

Re:The Future of the Vim Project by kzrdude on Thursday August 10, 2023 @07:59AM (#37075051)
Vim was developed by Bram commiting and controlling every change. Neovim very much already unlocked a greater than one situation by adopting a different development model.
Re:The Future of the Vim Project by meitham on Thursday August 10, 2023 @07:26AM (#37074709)
There’s no future to Vim without Bram. A merge of the two fork’s isn’t what Bram has wanted, but it’s the best way to keep Vim alive
Re:The Future of the Vim Project by GneissFrog on Thursday August 10, 2023 @07:40AM (#37074839)
No future for Vim without Bram? People said the same thing about Apple when Steve Jobs passed away. Turns out, as long as you have loyal users and competent people working, things can keep on chugging right along.

It seems a bit ridiculous to dismiss reunification when you don't even know what kind of compromises might be made to make it happen.

Re:The Future of the Vim Project by ftaghn on Thursday August 10, 2023 @07:46AM (#37074889)
I would not be so prompt to compare the situation with Apple and Jobs. Apple is a company that provides something no one else does while also holding a lock on its users. You can't go and install iOS apps on android.

On the other hand, vim and neovim are almost the same thing, and wherever they diverge, it is always to the detriment of vim. I would not be very optimistic for the future of vim considering that nobody uses vim9script and that alone is quite the massive baggage to maintain, an entirely separate, new programming language? one that is used by.. no one? 99% of extension developers either use the old vimscript or lua, and neovim's lua base has significantly grown to the point where we can imagine a future that has no vimscript.

Where will they find people willing to continue working on vim's code base when it has this kind of really big, really useless baggage? and if they were to cut it out of the code base, would it still be vim? I respect Bram for his contribution to open source, and vim is one of my favorite, most used software, but his decisions in the past few years have been extremely poor and were not friendly toward the possibility of vim being community maintained.

Re:The Future of the Vim Project by Dobbs on Thursday August 10, 2023 @08:17AM (#37075228)
> On the other hand, vim and neovim are almost the same thing, and wherever they diverge, it is always to the detriment of vim.

They are quite different at this point and personally I prefer vim over neovim. I've never gotten NeoVim to work satisfactorily. I've had issues with the async setup where the backend and frontend start having issues with each other or lag. So on. Personally I find vim to be a lot simpler to work with and MacVim in particular to just be a perfect GUI for me.

Of course YMMV. The point being is that there are a many of us that prefer normal Vim over the NeoVim work. That's okay. Its also okay that others prefer NeoVim over Vim. There is nothing wrong with that. What there is something wrong with is the way that many NeoVim people are reacting to this.

Re:The Future of the Vim Project by JetSetIlly on Thursday August 10, 2023 @12:28PM (#37078261)
You've hit the nail on the head for me. From my point of view, vim is simpler than neovim. I value that and wouldn't like to see neovim subsume it (although I'm sure people are happy with neovim for very good reasons)
Re:The Future of the Vim Project by em-bee on Thursday August 10, 2023 @08:14AM (#37075203)
Where will they find people willing to continue working on vim's code base

the same place where neovim found its developers. if one group of people can organize themselves to maintain and develop their version of vim. so can another. i don't know how many contributors vim has, but i am sure they can figure out how to move forward. finding new leadership can be difficult when there is no clear candidate, but if the contributors had not wanted to work on vim they would not have been there in the first place.

Re:The Future of the Vim Project by coldtea on Thursday August 10, 2023 @08:56AM (#37075559)
>i don't know how many contributors vim has, but i am sure they can figure out how to move forward.

Bram, for 98% of the commits/lines, plus some statistical noise.

Re:The Future of the Vim Project by em-bee on Thursday August 10, 2023 @10:03AM (#37076300)
i didn't realize that. given this and what others say about how bram treated contributions, i'd think it's best to put the original vim into maintenance mode and keep it as the version that bram intended. there is no need for another group of developers to emerge if it wasn't already there when they most likely would just end up repeating what neovim already did, since none of them would be a replacement to do things the "bram" way, especially considering that bram apparently was reimplementing many neovim features anyways.

it feels to me that not changing vim would be what bram would have wanted. any new developments may as well happen in neovim.

of course anyone who disagrees or doesn't like where neovim is heading may fork vim and make their own version of it.

Re:The Future of the Vim Project by coldtea on Thursday August 10, 2023 @08:47AM (#37075486)
>No future for Vim without Bram? People said the same thing about Apple when Steve Jobs passed away.

Well, they were making a wrong, but also totally unrelated to the Vim/Bram situation comparison then.

This is not a huge multinational company with tens of thousands of employees, hundreds of billions in cash, hundreds of millions of users, a strong product lineup, and a strong C-level team, who has been preparing for 2 years for its CEO eventual demise, complete with another person taking his CEO role way before that happened.

As Apple was at the time of Job's passing.

This is a FOSS software project, strongly associated and mostly solely written almost predominantly by a single person [1], with another fork that has a vibrant community and more modern features.

[1] Bram has 16,515 commits, the next biggest contributor has 68 times less commits. Or, 1/50th lines added. And it goes downhill from there, with the rest of the contributors added together being 1/50th Bram's contribution as well.

Re:The Future of the Vim Project by oblio on Thursday August 10, 2023 @07:28AM (#37074722)
I wouldn't be so dismissive.

Vim is a marquee project, tons of hackers will want to contribute because it's cool or because they want to have that name on their CV.

Re:The Future of the Vim Project by krossitalk on Thursday August 10, 2023 @07:34AM (#37074774)
Pretty much this. I'd like to take a crack at updating that vim.org page away from PHP5/MySQL.
Re:The Future of the Vim Project by The_Colonel on Thursday August 10, 2023 @08:09AM (#37075152)
> tons of hackers will want to contribute because it's cool

It's one thing to contribute a couple of PRs/patches, a very different thing to spend a large part of your free time on the project for years (which is what Bram did to make vim what it is).

These projects are no joke and a few hurray contributors not lasting more than a couple of months won't cut it.

Re:The Future of the Vim Project by ftaghn on Thursday August 10, 2023 @08:46AM (#37075485)
> These projects are no joke and a few hurray contributors not lasting more than a couple of months won't cut it.

Those same contributors that remained on vim instead of neovim didn't put much effort into vim9 ecosystem either. I can't imagine them being willing to maintain all of vim's baggage when literally nobody writes vim9script. Classic vimmers tend to stick to the old vimscript.

As you said, contributing a few patches to classic vim is one thing, but becoming an actual maintainer of the behemoth that comes with a ton of useless baggage is a whole another thing. Maintaining a programming language no one uses.. sisyphus would be proud.

Re:The Future of the Vim Project by The_Colonel on Thursday August 10, 2023 @08:11AM (#37075174)
Time will tell, but I think vim is likely to fade away with slow development pace. People are all sentimental right now, but we'll see how many of them will remain in a couple of years still committing to vim daily.

Looking at the commit history, vim was largely a one-man show, I'm a bit skeptical about that changing basically overnight.

Re:The Future of the Vim Project by Anthony-G on Thursday August 10, 2023 @12:34PM (#37078334)
The commit history does not accurately reflect the contributions to the code-base. As I understand it, contributors would write and provide patches to Bram who would then commit the changes to the code-base.
Re:The Future of the Vim Project by imbnwa on Thursday August 10, 2023 @12:58PM (#37078674)
Why would anyone amend the author in an open source project?
Re:The Future of the Vim Project by Anthony-G on Thursday August 10, 2023 @02:44PM (#37080083)
From what I can tell the reason is that that’s the way it was always done. As I understand it, back in the days before there were distributed version control systems, Bram was the only one who could commit to the code-base so he would credit the actual author of a submitted patch in the commit message. He continued this practice after the Vim project moved to Mercurial (and Git).

Related discussion: https://github.com/vim/vim/issues/1554

Re:The Future of the Vim Project by imbnwa on Thursday August 10, 2023 @03:48PM (#37080840)
Ah, thanks
Re:The Future of the Vim Project by Anthony-G on Thursday August 10, 2023 @05:49PM (#37082219)
On reflection, it might have been clearer to have started my comment with:

“Taken at face value by most modern users of Git, the commit history does not accurately reflect the contributions to the code-base”.

Re:The Future of the Vim Project by sigzero on Thursday August 10, 2023 @09:58AM (#37076235)
None of that is even remotely true.